var _a_url = window.parent._index_path;
$.extend($.fn.datagrid.defaults.editors, { 
    datalist:{
        init:function(container,options){
             var configDiv=$("<div id='light-linb'  style='height:30px;'></div>")
             var config_m=$("<div id='config_m' ></div>");  // 存储一对多查询框的条件
             var configSel=$("<a  id='close_m' href=\"javascript:void(0)\" style='float:right' id='close_m' >[关闭]&nbsp;&nbsp;</a>" +
             				"<a href=\"javascript:void(0)\" style='float:right' id='sure_m'>[确定]&nbsp;&nbsp;</a>" +
             				"<a href=\"javascript:void(0)\" style='float:right' id='reset_m'>[重置]&nbsp;&nbsp;</a>"+
             				"<a href=\"javascript:void(0)\" style='float:right' id='query_m'>[查询]&nbsp;&nbsp;</a>");
             $(configDiv).append(config_m);
             $(configDiv).append(configSel);
             
             // 1. 弹框的最外层div
             var dataListBox=$("<div id='winlog' class=\"white_content_m\"></div>");  
             dataListBox.append(configDiv);   
             
             // 2.隐藏的div框(存showPK,showName,mdzid(明细的dzId))
             var hidData=$('<div id="hidData" style="display:none"></div>');  
             dataListBox.append(hidData);   // append(把hidData追加到dataListBox中)
             var rc=$('<input type="hidden" id="rc"/>');
             hidData.append(rc);
             var sn=$('<input type="hidden" id="sn"/>');
             hidData.append(sn);
             var mdzid=$('<input type="hidden" id="mdzid"/>');
             hidData.append(mdzid);
             
             // 3.显示弹框的数据div
             var datalog=$("<div id='datalog' style='padding-top:5px;text-align:center;' ></div>");
             dataListBox.append(datalog);
             
             // 4.编辑器的文本框（一个存编码一个村显示的值）
             var cur = $("<input  id='editablebox' class='ainit_dataList_m' readonly=\"readonly\" />");   // 存转译后显示的值cd
             var curh=$('<input type="hidden" id="allIds" formatfuncdl="" />');  // 存编码和该文本框的属性
             var editor = cur.appendTo(container);
             editor=curh.appendTo(container);
             dataListBox.appendTo(container);
             
             var dgW=options.dgw;
             var dgH=options.dgH;
         	 if(dgW==null||dgW==""){			// 弹框的宽度
         		$(curh).attr("dgW","620");
			 }else{
				 $(curh).attr("dgW",dgW);
			 }
			 if(dgH==null||dgH==""){			// 弹框的高度
				 $(curh).attr("dgH","365")
			 }else{
				 $(curh).attr("dgH",dgH);
			 }
			 var colData=new Array();
             var dzId = options.editype;	// 弹框的对照信息
             var tranDzId=options.trandzId;   // 转译的对照信息（只有当弹框的对照信息SHOW_PK即RETURN_COLN在sys_dz_source中的数据不是唯一键的时候 如合同号）
             if(tranDzId==null||tranDzId==""){
            	 tranDzId=dzId;
             }
             var filterFunction=options.filterFunc;   // 弹框前过滤条件的方法
             var relationFlag=options.relationflag;   // 该列有没有要拉取的信息
             var nowrite=options.readonly;   		  //判断该弹框是不是只读的 true：只读的
													 // false：（目前没有用到）
             var singleChoice=options.singleSelect==false?false:true;   // 判断该弹框是单选还是多选（基本上都是单选，但是多选的时候要配置singleSelect:false,单选的时候数据库不需要配置该属性）
             var colnName=$($(cur).parents("td[field]")[0]).attr("field");   // 不需要配置列名
          	 var textAlign=$($($(cur).parents("td[field]")[0]).find("div")[0]).css("text-align");
 	 		 $(cur).css("text-align",textAlign);
 	 		 if($(curh).parents("div[isMulTabs=true]").length==1){
 				var selectTab=$($(curh).parents("div[isMulTabs=true]")).tabs('getSelected');
 				curDiv=$(selectTab).find($("div[realdsid][prefix][dsid]"));  // 获取datagrid的div
 	 		 }else if($(curh).parents("div[isMulTabs=true]").length==0){
 	 			curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
 	 		 }else {
 	 			 alert("明细弹框datagri获取有误");
 	 		 }
             var prefix=$(curDiv).attr("prefix");     // 不需要配置前缀
             var dsId=$(curDiv).attr("realdsid");     // 不需要配置dsid
             $(curh).attr("colnName",colnName);
             $(curh).attr("dsid",dsId);
             $(curh).attr("relationflag",relationFlag);
             $(curh).attr("dzid",dzId);
             $(curh).attr("tranDzId",tranDzId);
             $(cur).focus(function(){
            	$(curDiv).attr("colnName",colnName);
            	$(cur).select();
             });
             $(cur).click(function (){
            	 if(typeof(nowrite)=='undefined'||nowrite!=true){
            		 datagridWin = undefined;
            		 if((typeof(datagridWin)=='undefined') ){
            			 $(config_m).css("display","block");
            			 $(dataListBox).css("display","block");
                         datagridWin = $(dataListBox).window({
                        	 title:'对照信息',
                        	 width:$(curh).attr("dgw"),
                             height:$(curh).attr("dgh"),
                             modal:true
                         });
                         $(datalog).datagrid({
                        	 iconCls:'icon-save',
                        	 width:$(curh).attr("dgw")-50,
                             height:$(curh).attr("dgh")-100,
                             striped: true,                 
                             collapsible:true,
                             autoRowHeight: true,        
                             sortOrder: 'desc',
                             remoteSort: false,
                             singleSelect:false,
                             frozenColumns:[[
                                 {field:'ck',checkbox:true}
                             ]],
                             columns:[[]],
                             modal:true, 
                             rownumbers:true,
                         	 onSelect:function(rowIndex,rowData){   //选中一行
                        	 	if(singleChoice==true){  //单选弹框
                        	 		var currentIndex=$(datalog).attr("currentIndex");
    	            				if(currentIndex!=undefined&&currentIndex!=rowIndex){
    	            					$(datalog).datagrid("unselectRow",currentIndex);
    	            				}
    	                     		$(datalog).attr("currentIndex",rowIndex);
                        	 	}
             				},
	             			onUnselect:function(rowIndex, rowData){   //取消选中
             					if(singleChoice==true){  //单选弹框
             						$(datalog).removeAttr("currentIndex");
             					}
	             			},
	             			onSelectAll:function(rows){      //单选的时候全部选中所有行不可用
	             				$(datalog).datagrid("clearSelections");
	             			}
	             			,onCheckAll:function(rows){      //单选的时候全部选中所有行不可用
	             				if(singleChoice==true){  //单选弹框
	             					$(datalog).datagrid("uncheckAll");
		            				//获取currentIndex,如果currentIndex！=null，那么选中当前行
		            				var currentIndex=$(datalog).attr("currentIndex");
		            				if(currentIndex!=undefined){
		            					$(datalog).datagrid("selectRow",currentIndex);
		             				}
	             				}
	             				
	             			},onUncheckAll:function(rows){   //单选的时候取消所有行不可用
	             				if(singleChoice==true){  //单选弹框
	             					//获取currentIndex,如果currentIndex！=null，那么选中当前行
		            				var currentIndex=$(datalog).attr("currentIndex");
		            				if(currentIndex!=undefined){
		            					$(datalog).datagrid("selectRow",currentIndex);
		             				}
	             				}
	            			}
                         });
                         
                         $(datalog).attr("singleChoice",singleChoice);
                         // 1.加载明细数据前先加载弹框过滤的回调函数（条件）
                         var filterStr="";
                   	  	 if(filterFunction!=null&&filterFunction!=undefined&&filterFunction!='undefined'&&filterFunction!=""){
                   	  		 filterStr=eval(filterFunction).call(this,prefix);
                   	  		 if(filterStr=="false"){
                   	  			 $(dataListBox).window('close');
                   	  			 return;
                   	  		 }
                   	  	 }
                         // 2.加载明细弹框字段
                         $.ajax({
                            url:_a_url+'dz/loadDzDL',    
                            data:{'dzId':dzId,'inputVal':''},
                            type:'post',
                        	async:false,
                            success:function(data){
                                $(datalog).datagrid(jointColumn(data.columns));   // 加载列
                                $(rc).val(data.returnColn);
                                $(sn).val(data.showName);
                                $(mdzid).val(data.dzId);
                                colData=data.columns;
                                // 1.加载查询条件
                                pjConfigSel_m(data,$(config_m),$(configSel));
                                
                                // 2.确认按钮的绑定事件
                                $($(configSel).parent().children('#sure_m')).bind("click",function(){
                                    sure_m($(dataListBox),data,$(curh));
                    			});
                                
                                // 3.查询按钮的绑定事件
                                $($(configSel).parent().children('#query_m')).removeAttr("click");
                                $($(configSel).parent().children('#query_m')).unbind("click");
                                $($(configSel).parent().children('#query_m')).bind("click",function(){   
                                	querylist_m($(dataListBox),filterStr,$(curh));
                    			});
                                
                                // 4.重置按钮的绑定事件
                                $($(configSel).parent().children('#reset_m')).removeAttr("click");
                                $($(configSel).parent().children('#reset_m')).unbind("click");
                                $($(configSel).parent().children('#reset_m')).bind("click",function(){   
                                	resetList_m($(dataListBox),filterStr,$(curh));
                    			});
                                
                                // 5.关闭按钮绑定的事件
                                $($(configSel).parent().children('#close_m')).removeAttr("click");
                                $($(configSel).parent().children('#close_m')).unbind("click");
                                $($(configSel).parent().children('#close_m')).bind("click",function(){   
                                	close_m($(dataListBox),$(cur));
                    			});
                                
                                // 6.获取焦点
                                focus_m($(config_m));
                            }
                         });
                         // 数据加载完成后判断文本框有没有值，有值的时候选中
                         var idfile=$(rc).val();  // 使用datagrid
                         $(datalog).datagrid({
                 			idField:idfile,
                 			rowStyler:function(index,row){    
                 				return window.parent.getRowStylerDz(this,index,row,colData);
                 			 }
                 		 });
                         // 3.加载数据
                        var inputCodeVal=$(curh).val();
                        $.ajax({   
                 			type:'post',
                 			url:_a_url+'dz/loadData',
                 			data:{"dzId":dzId,'filterConfig':filterStr,'inputCode':inputCodeVal},
                 			async:false,
                 			success:function(data){
                 				$(datalog).datagrid('loadData',data);
                 			}
                 		});
                         var yinchang=$("#"+prefix+"_addWinForm").find("input[qucln=PRINT_MAN]").val();    // 获取印厂
                        // 4.加载弹框的选中值
                 		if(inputCodeVal!=null&&inputCodeVal!=undefined&&inputCodeVal!='undefined'&&inputCodeVal!=""){
                 			var codeVal=inputCodeVal.split(";");
                 			for(var i=0;i<codeVal.length;i++){
                 				if(codeVal[i]!=null&&codeVal[i]!=undefined&&codeVal[i]!='undefined'&&codeVal[i]!=""){
                 					var rows = $(datalog).datagrid("getRows");
                                    var newRows = $.map( rows, function(row){
                                    	if(row.CL_ID == codeVal[i]) return row;
                                    });
                 					if(newRows.length > 1) {
                 						$.each(rows, function(index, row) {
                 							if(row.CL_SOURCE_MANID == yinchang) {
                                                $(datalog).datagrid('selectRow',index);
											}
										});
									} else {
                                        $(datalog).datagrid('selectRecord',codeVal[i]);// 通过id的值做参数选中一行会触发onSelect事件
                                    }
                 				}
                 			}
                 		}else{                     //弹框已经存在的时候，直接打开
                 			$(dataListBox).window('open');
                        } 
            		}
            	}
             });
             editor.enableEdit = false; 
            return editor; 
        },
       getValue: function(target){
            return $(target).val();  
       },  
       setValue: function(target,value){
    	   var format=$(target).attr("trandzId")+"fmat";// 获取弹框的对照信息的方法
           $(target).val(value); 
           if(value!=null&&value!="null"&&value!=""){
        	   var curVal=eval('window.parent.'+format).call(target,value);
               $(target).prev().val(curVal);
           }
        },
        resize: function(target, width){ 
        }, 
        destroy: function(target){ 
            datagridWin = undefined;
        } 
    }
});



// 明细弹框的的关闭
function close_m(dataListBox,focusObj){
	$(dataListBox).find("#datalog").removeAttr("currentIndex");
	$(dataListBox).find("#datalog").datagrid("clearSelections");
	$(dataListBox).window('close');
	$(focusObj).focus();
}


// 明细弹框的重置
function resetList_m(dataListBox,filterStr,curh){
	$(dataListBox).find("#datalog").removeAttr("currentIndex");
	$(dataListBox).find("#datalog").datagrid("clearSelections");
	var datalog=$(dataListBox).find("#datalog");
	var dzId=$(curh).attr("dzid");
	var allConfig=$(dataListBox).find('#config_m').find('span input');  
	$(allConfig).each(function(){
		$(this).val("");
	});
	var allConfigS=$(dataListBox).find('#config_m').find('span select');  
	$(allConfigS).each(function(){
		$(this).find("option:selected").attr("selected",false);
	});
	// 加载数据
    $.ajax({   
			type:'post',
			url:_a_url+'dz/loadData',
			data:{"dzId":dzId,'filterConfig':filterStr},
			async:false,
			success:function(data){
				$(datalog).datagrid('loadData',data);
			}
	});
}

// 明细查询
function querylist_m(dataListBox,filterStr,curh){
	if($(dataListBox).find("#datalog").attr("singleChoice")!="false"&&$(dataListBox).find("#datalog").attr("singleChoice")!=false){
		$(dataListBox).find("#datalog").removeAttr("currentIndex");
		$(dataListBox).find("#datalog").datagrid("clearSelections");
	}
	var datalog=$(dataListBox).find("#datalog");
	var allConfig=$(dataListBox).find('#config_m').find('span input');   // 存放输入查询条件的文本框
	var dzId=$(curh).attr("dzid");
	var config="";
	for(var i=0;i<allConfig.length;i++){
		var configVal=$(allConfig[i]).val();
		if(typeof(configVal)!="undefined"&&configVal!=""){
			var configName=$(allConfig[i]).attr("id");
			if(typeof(configName)=="undefined"||configName==""){
				$.messager.alert("查询提示：","请检查查询条件的格式封装是否正确");
			}
			var str=configName+"-"+configVal+";";
			config+=str;
		}
	}
	var allConfigS=$(dataListBox).find('#config_m').find('span select');   // 存放输入查询条件的下拉
	for(var i=0;i<allConfigS.length;i++){
		var configVal=$(allConfigS[i]).find("option:selected").text();
		if(typeof(configVal)!="undefined"&&configVal!=""){
			var configName=$(allConfigS[i]).attr("id");
			if(typeof(configName)=="undefined"||configName==""){
				$.messager.alert("查询提示：","请检查查询条件的格式封装是否正确");
			}
			var str=configName+"-"+configVal+";";
			config+=str;
		}
	}
	// 加载数据
    $.ajax({   
			type:'post',
			url:_a_url+'dz/loadData',
			data:{'inputVal':config.trim(),"dzId":dzId,'filterConfig':filterStr},
			async:false,
			success:function(data){
				if(data.rows!=null&&data.rows!="null"){
					$(datalog).datagrid('loadData',data);
			         var inputCodeVal=$(curh).val();
                     // 4.加载弹框的选中值
              		if(inputCodeVal!=null&&inputCodeVal!=undefined&&inputCodeVal!='undefined'&&inputCodeVal!=""){
              			var codeVal=inputCodeVal.split(";");
              			for(var i=0;i<codeVal.length;i++){
              				if(codeVal[i]!=null&&codeVal[i]!=undefined&&codeVal[i]!='undefined'&&codeVal[i]!=""){
              					$(datalog).datagrid('selectRecord',codeVal[i]);// 通过id的值做参数选中一行会触发onSelect事件
              				}
              			}
              		}
					
				}
			}
	});
}


//明细的对话弹框的确认
function sure_m(dataListBox,data,curh){
	 if($(curh).parents("div[isMulTabs=true]").length==1){
		 var selectTab=$($(curh).parents("div[isMulTabs=true]")).tabs('getSelected');
		 curDiv=$(selectTab).find($("div[realdsid][prefix][dsid]"));  // 获取datagrid的div
	 }else if($(curh).parents("div[isMulTabs=true]").length==0){
		 curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
	 }else{
		alert("明细弹框datagri获取有误")
	 }
	 var datalog=$(dataListBox).find("#datalog");
	 var prefix=$(curDiv).attr("prefix");
	 //封面计价单，和内文计价单 明细中的合同号的库房必须是主表中的印厂对应的库房
	 if($(curh).attr("colnname")=='CL_ID_PICI'&&$(curDiv).attr("id")=='bca_addItemDatagrid'&&$(datalog).datagrid('getSelected')!=null){
		  var selectRow=$(datalog).datagrid('getSelected');
		  var newyc=selectRow["CL_SOURCE_MANID"];
		  var yinchang=$("#"+prefix+"_addWinForm").find("input[qucln=PRINT_MAN]").val();    // 获取印厂
		  if(yinchang!=newyc){
			  var ycName=eval('window.parent.dz_ysc_manfmat').call(curh,yinchang);
			  $.messager.alert("操作提示","亲，请选择印厂是【"+ycName+"】对应的库房！");
			  return;
		  }
	  }
	//获取弹框里面的操作对象
	var rc=$(dataListBox).find("#rc");
	var sn=$(dataListBox).find("#sn");
	var relationflag=$(curh).attr("relationflag");
	var dsId=$(curh).attr("dsId");
	var cur=$(curh).prev("#editablebox");
	var selRowsData = $(datalog).datagrid('getSelections');  // 获取所有选中的行
    if(selRowsData.length==0){  // 没有选中任何数据 那么就清空文本框内的值
    	$(cur).val("");
    	$(curh).val("");
    	close_m(dataListBox,$(curh).prev())
    	return;
    }
    
    var retnClnName=$(rc).val();   // showPk
    var showName = $(sn).val();    // showName
    var showNameVal="";
    var showPkVal="";
    var selStock="";
    for(var i=0;i<selRowsData.length;i++){
    	showNameVal+=selRowsData[i][showName];
    	showPkVal+=selRowsData[i][retnClnName];
    	if(i < selRowsData.length - 1){
    		showNameVal += ";";
    		showPkVal += ";";
    	}
    	selStock = selRowsData[i]["CL_STOCK"];
    }
    // 给编辑器赋值
    $(cur).val(showNameVal);
    $(curh).val(showPkVal);
    var retnClnName=$(curh).attr("colnName");
     // 判断该字段有没有拉取信息
	if(relationflag!=null&&typeof(relationflag)!='undefined'&&relationflag=='T'){ 
		 if(typeof(showPkVal)!='undefined'&&showPkVal!=""&&typeof(dsId)!='undefined'&&dsId!='undefined'&&dsId!=''){
			 $.ajax({
	 				type:'post',
	 				url:_m_url+'framework/relationCol',
	 				async:false,
	 				data:{'colName':retnClnName,'dsId':dsId,'relationVal':showPkVal},
	 				success:function(data){ 
	 					if(data.objList != null && data.objList !=""){
	 						var currentIndex=$(curDiv).datagrid("getEditRowIndex");
	 						var allRows = $(curDiv).datagrid('getRows');
	 						// 填充明细的对照信息
	 						$(curDiv).datagrid("endEdit",currentIndex);
	 						// 印刷付印单中选择合同材料专用
							if(selStock != "") {
								for(var k=0;k<data.objList.length;k++) {
									if(data.objList[k].CL_STOCK == selStock) {
                                        fillMxDz(allRows[currentIndex],data.objList[k]);
                                        break;
                                    }
                                }
							} else {
                                fillMxDz(allRows[currentIndex],data.objList[0]);
                            }
	 						$(curDiv).datagrid("refreshRow",currentIndex);
	 						$(curDiv).datagrid("beginEdit",currentIndex);
	 					}
	 				}
	 			});
		 }
	 }
	 // 关闭弹框
	close_m(dataListBox,$(curh).prev());
}




// 明细弹框的查询条件
function pjConfigSel_m(data,config_m,configSel){
	var qhtml = "";
    var columns=data.columns;
    for(var i = 0; i < columns.length; i++){
    	if(columns[i].queryCln == 'T'){   // 循环遍历queryCln中设为查询条件的列（后期再把弹框设为可下拉）
			// 判断条件文本类型configS
			var inputtype=columns[i].inputType;
			switch (inputtype) {
				case "select":  // 自动填充数据
					qhtml += columns[i].colnName+"<select style='width:110px' onkeydown='if(event.keyCode==13) enter_m(this);' onfocus=\"loadDzG(\'"+columns[i].dsid+"\',\'"+columns[i].name+"\',this)\"  id='"+columns[i].name+"'></select>";
				break;
				default:
					qhtml += columns[i].colnName+"<input class='qtc_input'onkeydown='if(event.keyCode==13) enter_m(this);'  id='"+columns[i].name+"'>";
			}
			$(config_m).html("<span class='qtc_name'>"+qhtml+"</span>");
			$(config_m).append(configSel);
		}
    }
}






// 明细弹框的回车事件
function enter_m(obj){
	var queBut = $(obj).parents("#winlog").find('#query_m');
	$(queBut).click();
}

// 明细弹框的光标定位
function focus_m(obj){
	if($(obj).html() != ""&&$(obj).find("input").length>0){
		$(obj).find("input")[0].focus();
 	}
}

/*******************************************************************************
 * 印刷付印单明细合同号弹框过滤条件
 ******************************************************************************/
function yzMx001(prefix){
	var index=$("#"+prefix+"_addItemDatagrid").datagrid("getEditRowIndex");
	var allRows=$("#"+prefix+"_addItemDatagrid").datagrid("getRows");
	var clid=allRows[index]["CL_ID"];  //材料名称
	var clBuy=$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:'CL_BUY'}).target.val();  // 纸张类型
	var yinchang=$("#"+prefix+"_addWinForm").find("input[qucln=PRINT_MAN]").val();    // 获取印厂
	if(yinchang==null||yinchang==""){
		$.messager.alert("操作提示",'亲，请先选择主表的【印厂】');
		return "false";
	}else if(clBuy==null||clBuy==""){
		$.messager.alert("操作提示",'亲，请先选择【纸张类型】');
		return "false";
	}else if(clBuy=="1"){   // 特种纸
		$.messager.alert("操作提示",'您正在使用【特种纸】，不允许选择合同号');
		return "false";
	}
	else if(clBuy=="2"){   // 厂料（印刷厂提供，不需要采购）
		$.messager.alert("操作提示",'您正在使用【厂料】，不允许选择合同号');
		return "false";
	}
	else if(clBuy=="0"){// 常规纸
		if(typeof(clid)==undefined||clid=='undefined'||clid==""){
			$.messager.alert("操作提示",'请先选择【材料名称】');
			return "false";
		}
		// 把属于印厂的库房对应的合同号放在最前面
		var str=" CL_PARENT_ID = "+ "'"+clid+"'  ORDER BY (case CL_SOURCE_MANID when '"+yinchang+"' then null ELSE CL_SOURCE_MANID END) DESC";
		return str;
	}
}



/*******************************************************************************
 * 印刷付印单明细中如果纸张类型为常规纸，那么材料规格，供应商（由合同号决定的）是不允许用户选择的
 * @param prefix
 * @return
 */
function yzMx002(prefix){
	var index=$("#"+prefix+"_addItemDatagrid").datagrid("getEditRowIndex");
	var colnName=$("#"+prefix+"_addItemDatagrid").attr("colnName");
	var clBuy=$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:'CL_BUY'}).target.val();  // 纸张类型
	var val=$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:colnName}).target.val();  
	if(clBuy==""){
		$.messager.alert("操作提示",'亲，请先选择【纸张类型】！');
		return "false";
	}
	else if(colnName=='MAN_BUSINESS'){    // 供应商
		if(clBuy=="0"){   
			$.messager.alert("操作提示",'亲，您正在使用【常规纸】，【供应商】是由合同号决定，无须手动选择！');
			return "false";
		}
	}
	return "";
}


/*******************************************************************************
 * 订货合同的明细中是特种纸就不允许修改（规格，克重） 给用户提示
 * @param prefix
 * @return
 */
function dhMx001(prefix){
	var clTypeVal=$("#"+prefix+"_addWinForm").find("select[qucln=DJ_TYPE]").val();// 获取纸张类型
	if(clTypeVal==null||clTypeVal==undefined||clTypeVal==""){
		$.messager.alert("操作提示","请先选择纸张类型");
	}
	if(clTypeVal=='dhhtType.002'){
		$.messager.alert("操作提示","亲,【特种纸】的材料【规格】是由【印刷付印单确认】确认的，不可修改哦~");
		return "false";
	}
	return "";
}
// 待发货区中业务发货数的编辑判断（按商品）
function ywfhsFunc(prefix){
	var index=$("#prodGroupWY").attr("currentIndex");
	var allRows = $("#prodGroupWY").datagrid('getRows');
	
	var SelRows = $("#prodGroupWY").datagrid('getSelections');
	var selRow = allRows[index];
	var isVerifyYw = selRow.IS_VERIFY_YW;
	$("#prodGroupWY").datagrid('cancelEdit',index);
	//业务发货数
	if(isVerifyYw == '1'){
		return "false";
	}
}
// 待发货区中业务发货数的编辑判断(按客户)
function ywfhsFuncKH(prefix){
	var index=$("#clientsGroupWY").attr("currentIndex");
	var allRows = $("#clientsGroupWY").datagrid('getRows');
	var selRow = allRows[index];
	var isVerifyYw = selRow.IS_VERIFY_YW;
	$("#prodGroupWY").datagrid('cancelEdit',index);
// //业务发货数
	if(isVerifyYw == '1'){
		return "false";
	}
}

/**
 * 到货入库版印次格式审核
 */
function bycVerfiy(){
}




/**
 * 出入库等单据中明细中架号和库房的关联
 * @param prefix
 * @return
 */
function jhByStockId(prefix){
	var index=$("#"+prefix+"_addItemDatagrid").datagrid("getEditRowIndex");
	var stockId = $("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:'STOCK_ID'}).target.val(); // 库房Id
	if(stockId==null||stockId==""){
		$.messager.alert("操作提示",'请先选择库房');
		return false;
	}
	var str=" STOCK_ID = '"+stockId+"'";
	return str;
}
/*******************************************************************************
 * 发行的架号管理(上架，下架的明细的架号中过滤指定库房的架号)
 * 
 * @param prefix
 * @return
 */
function filterShelfNo(prefix){
	var stockId=$("#"+prefix+"_addWinTable").find("select[qucln=STOCK_ID]").val();// 获取的库房
	if(stockId==null||stockId==""){
		$("#"+prefix+"_addWinTable").find("input[select=STOCK_ID]").focus();
		$.messager.alert("操作提示",'请先选择库房');
		return false;
	}
	var str=" STOCK_ID = "+ "'"+stockId+"'";
	return str;
}





/*******************************************************************************
 * 统一规则 前缀，和后缀均不允许用户手动输入，自动加上
 */
// $.extend($.fn.datagrid.defaults.editors, {
// numberbox: {
// init: function(container, options){
// var align=options.align==null?"center":options.align;
// var cur=$('<input type="text" id="showVal"
// style="width:90%;text-align:'+align+';">'); //存显示格式化的字段
// var curh = $('<input type="hidden" id="hideVal"
// style="width:90%;text-align:'+align+';">'); //存隐藏的字段也就是字段的实际的值
// var editor = cur.appendTo(container);
// editor=curh.appendTo(container);
// if(options==undefined||options=='undefined'){
// var colnName=$($(cur).parents("td[field]")[0]).attr("field");
// $.messager.alert("数字类型配置",colnName+"的editor配置不正确，请检查");
// }
// var pre=options.pre; //单据的前缀
// var clacufmat=options.clacufmat; //参与计算公式的方法
// var prefix=options.prefix; //前缀（当鼠标获取焦点的时候要把前缀去掉，当鼠标离开的时候要把前缀加上）
// var suffix=options.suffix; //后缀 （同上）


// var ispresame=options.ispresame; //数据库中是否加前缀（数据库中的原值，是否带前缀）
// var issufsame=options.issufsame; //数据库中是否加后缀（同上）
// var formatfunc=options.formatfunc; //格式化数字类型的函数（一般用与格式化去掉前缀和后缀之后的值）
// var divIdSub=options.divIdSub;
// //numbox的控件所在的datagrid不是明细界面的datagrid的时候divIdSub是特殊化的费明细界面的可编辑界面的div
// var colnName=$($(cur).parents("td[field]")[0]).attr("field");
// var keyfmat="";
// $(cur).attr("colnName",colnName);
// $(curh).attr("prefix",prefix);
// $(curh).attr("suffix",suffix);
// $(curh).attr("formatfunc",formatfunc);
// $(cur).keydown(function(event){
// if(event.keyCode==9){
// keyfmat="keycodefamt";
// }
// });
// $(cur).keyup(function(event){
// // clearNotNum(event,cur,options);
// }),
// $(cur).keypress(function(event){
// // clearNotNum(event,cur,options);
// }),
// $(cur).focus(function(){ //获取焦点的时候值选中
// //原值选中，并且此时文本框选中的值是真实的存在于数据库中的值（也就是失去前缀和后缀的值）
// $(cur).val($(curh).val());
// $(cur).select();
// if(divIdSub!=undefined&&divIdSub!=null&&divIdSub!=""){
// $('#'+divIdSub).attr("colName",colnName);
// var index=$('#'+divIdSub).attr("currentIndex");
// var ed =$('#'+divIdSub).datagrid('getEditor',{index:index,field:colnName});
// $('#'+divIdSub).attr("ed",ed);
// }else{
// if(pre!=null&&pre!=undefined&&pre!=""){
// $('#'+pre+"_addItemDatagrid").attr("colName",colnName);
// var index=$('#'+pre+"_addItemDatagrid").attr("currentIndex");
// var ed
// =$('#'+pre+"_addItemDatagrid").datagrid('getEditor',{index:index,field:colnName});
// $('#'+pre+"_addItemDatagrid").attr("ed",ed);
// }
// }
// }),
// $(cur).blur(function(){ //失去焦点的时候加载值
// //检验输入数字的合法性
// checkNumValidity($('#'+pre+"_addItemDatagrid").attr("currentIndex"),pre,$(cur),options);
// var realVal=$(cur).val(); //输入的值
// if(realVal==null||realVal==""){
// $(curh).val("");
// }else{
// $(curh).val(realVal);
// //获取小数点的位置，如果在第一位，那么就在小数点上加0
// var spotIndex=$(curh).val().indexOf('.');
// if(spotIndex==0){
// $(curh).val("0"+$(curh).val());
// }
// //格式化函数
// if(formatfunc!=null&&formatfunc!=undefined&&formatfunc!=""){
// var curVal=eval('window.parent.'+formatfunc).call(cur,realVal);
// $(cur).val(curVal);
// }
// //加前缀
// if(ispresame!=null&&ispresame!=undefined&&ispresame=="T"){ //数据库中也加前缀
// var no=realVal.toString().indexOf(prefix);
// if(no!=0){ //如果前缀不存在，那么就加前缀
// $(curh).val(prefix+$(curh).val());
// }
// }
// //加后缀
// if(issufsame!=null&&issufsame!=undefined&&issufsame=="T"){ ///数据库中也加后缀
// //判断后缀的位置
// var no=$(curh).val().indexOf(suffix);
// //判断是否加后缀
// if(no!=($(curh).val().length-1)){ //如果后缀不存在，那么就加后缀
// $(curh).val($(curh).val()+suffix);
// }
// }
// }
// //鼠标离开的时检查该输入框书是否参与了计算
// if(clacufmat!=null&&clacufmat!=undefined&&clacufmat!=""){
// var allRows = $('#'+pre+"_addItemDatagrid").datagrid('getRows');
// if(divIdSub!=undefined&&divIdSub!=null&&divIdSub!=""){
// var currentIndex=$('#'+divIdSub).attr("currentIndex");
// eval(clacufmat).call(this,pre,currentIndex);
// }else{
// var currentIndex=$('#'+pre+"_addItemDatagrid").attr("currentIndex");
// eval(clacufmat).call(this,pre,currentIndex);
// }
// }
// // //键盘tab的回调函数
// if(keyfmat!=null&&keyfmat!=undefined&&keyfmat!=""){
// //tab键发生变化的时候触发的事件
// bindTab($('#'+pre+"_addItemDatagrid").attr("id"));
// }
// });
// return editor;
// },
// getValue: function(target){
// return $(target).val();
// },
// setValue: function(target, value){ //先执行set,后执行get
// $(target).prev().val(value);
// $(target).val(value);
// var formatfunc=$(target).attr("formatfunc"); //格式化函数
// if(value!=null&&value!=undefined&&value!=""&&formatfunc!=undefined&&formatfunc!=""){
// var curVal=eval('window.parent.'+formatfunc).call(target,value);
// $(target).prev().val(curVal);
// }
// },
// resize: function(target, width){
// console.log("resize method invoke!");
// },
// destroy: function(target){
// console.log("destroy method invoke!");
// }
// }
// });
//
// //当数字类型的文本框失去焦点的时候验证数字的合法性
// function checkNumValidity(index,pre,obj,options){
// var min=options.min==null?0:options.min; //最小值默认为0，因为如果是负数，就会加前缀'-'
// var max=options.max; //允许的最大值
// var gtmin=options.gtmin==null?'F':'T';//是否大于最小值(T表示大于)
// var ltmax=options.ltmax==null?'F':'T';//是否小于最大值（T表示小于）
// var precision=options.precision==null?0:options.precision; //获取小数点的位数,默认是整数
// var colName=$($(obj).parents("td[field]")[0]).attr("field");
// var tevet="";
//	
// var val=$(obj).val();
// if(val==""||val==undefined){
// return;
// }
//	
// //精确度为0的大于等于0的整数
// if(precision=="0"){
// tevet=/^0$|^[1-9]\d{0,7}$/;
// if($(obj).val().match(tevet)==null){
// $.messager.alert("数字类型输入框提示","亲，请输入合法的数字","info");
// //
// $($('#'+pre+"_addItemDatagrid").datagrid("getEditor",{index:index,field:colName}).target[0]).parent("td").find("input")[0].focus();
// }
// }
// //精确度最大两位
// else if(precision=="2"){
// //精确度最大两位的包含0和1的所有的小数
// if(min==0||max==1){
// tevet=/^(0|1)$|^(0\.)\d{1,2}$|^\.\d{1,2}$/;
// if($(obj).val().match(tevet)==null){
// $.messager.alert("数字类型输入框提示","亲，请输入合法的数字","info");
// }
// }
// //精确度最大两位的大于等于1的小数或者整数
// else if(min==1){
// tevet=/^[1-9]\d{0,8}(\.\d{1,2})?$/;
// if($(obj).val().match(tevet)==null){
// $.messager.alert("数字类型输入框提示","亲，请输入合法的数字","info");
// }
// }
// }
// //精确度最大四位
// else if(precision=="4"){
// //精确度最大四位的包含0和1的所有的小数
// if(min==0||max==1){
// tevet=/^(0|1)$|^(0\.)\d{1,4}$|^\.\d{1,4}$/;
// if($(obj).val().match(tevet)==null){
// $.messager.alert("数字类型输入框提示","亲，请输入合法的数字","info");
// }
// }
// //精确度最大四位的大于等于1的小数或者整数
// else if(min==1){
// tevet=/^[1-9]\d{0,8}(\.\d{1,4})?$/;
// if($(obj).val().match(tevet)==null){
// $.messager.alert("数字类型输入框提示","亲，请输入合法的数字","info");
// }
// }
// }
// }
//
//
//
// function clearNotNum(event,obj,options){
// var min=options.min==null?0:options.min; //最小值默认为0，因为如果是负数，就会加前缀'-'
// var max=options.max; //允许的最大值
// var gtmin=options.gtmin==null?'F':'T';//是否大于最小值(T表示大于)
// var ltmax=options.ltmax==null?'F':'T';//是否小于最大值（T表示小于）
// var precision=options.precision==null?0:options.precision; //获取小数点的位数,默认是整数
// var tevet1="";
// var tevet2="";
// var tevet3="";
// var tevet4="";
// var tevet5="";
//	
// var val=$(obj).val();
// if(val==""||val==undefined){
// return;
// }
//	
// //精确度为0的大于等于0的整数
// if(precision=="0"){
// tevet1=/^0$|^[1-9]\d{0,7}$/;
// }
// //精确度最大两位
// else if(precision=="2"){
// //精确度最大两位的包含0和1的所有的小数
// if(min==0||max==1){
// tevet2=/^(0|1)$|^(0\.)\d{1,2}$|^\.\d{1,2}$/;
// }
// //精确度最大两位的大于等于1的小数或者整数
// else if(min==1){
// tevet3=/^[1-9]\d{0,8}(\.\d{1,2})?$/;
// }
// }
// //精确度最大四位
// else if(precision=="4"){
// //精确度最大四位的包含0和1的所有的小数
// if(min==0||max==1){
// tevet4=/^(0|1)$|^(0\.)\d{1,4}$|^\.\d{1,4}$/;
// }
// //精确度最大四位的大于等于1的小数或者整数
// else if(min==1){
// tevet5=/^[1-9]\d{0,8}(\.\d{1,4})?$/;
// }
// }
//     
// //响应鼠标事件，允许左右方向键移动
// event = window.event||event;
// if(event.keyCode == 37 | event.keyCode == 39){
// return;
// }
//	
// // //精确度为0的大于等于0的整数
// // if(tevet1!=""&&$(obj).val().match(tevet1)==null){
// // //先把非数字的都替换掉
// // $(obj).val($(obj).val().replace(/[^\d]/g,""));
// // //以0开头只能出现一次
// // if($(obj).val().indexOf('0')==0){
// // $(obj).val($(obj).val().replace(/[^0]/g,""));
// // }
// // }
// //
// // //精确度最大两位的包含0和1的所有的小数
// // else if(tevet2!=""&&$(obj).val().match(tevet2)==null){
// //
// // }
//	
//	
// // //精确度最大四位的小于0的小数（不满足条件）
// // if(tevet1!=""&&$(obj).val().match(tevet1)==null){
// // //先把除了数字和'.'的字符都替换掉
// // $(obj).val($(obj).val().replace(/[^\d\.]/g,""));
// // //保证只有出现一个.而没有多个.
// // $(obj).val($(obj).val().replace(/\.{2,}/g,"."));
// // //保证.只出现一次，而不能出现两次以上
// //
// $(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
// // if(tevet2!=""){
// // $(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+5));
// // }else if (tevet2!="") {
// // $(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+3));
// // }else if (tevet4!="") {
// // if($(obj).val().indexOf(".")!=-1){
// // $(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")));
// // }
// // }
// // }
// // //如果精确度为为四位小数的大于0的数
// // else if(tevet2!=""&&$(obj).val().match(tevet2)==null){
// // //必须保证第一个为数字而不是.
// // //$(obj).val($(obj).val().replace(/^\./g,""));
// // //先把非数字的都替换掉，除了数字和'.'
// // $(obj).val($(obj).val().replace(/[^\d.]/g,""));
// // //保证只有出现一个.而没有多个.
// // $(obj).val($(obj).val().replace(/\.{2,}/g,"."));
// // //保证.只出现一次，而不能出现两次以上
// //
// $(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
// // $(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+5));
// // }
// // //如果是精确度为两位小数
// // else if(tevet3!=""&&$(obj).val().match(tevet3)==null){
// // //必须保证第一个为数字而不是.
// // //$(obj).val($(obj).val().replace(/^\./g,""));
// // //先把非数字的都替换掉，除了数字和'.'
// // $(obj).val($(obj).val().replace(/[^\d\.]/g,""));
// // //保证只有出现一个.而没有多个.
// // $(obj).val($(obj).val().replace(/\.{2,}/g,"."));
// // //保证.只出现一次，而不能出现两次以上
// //
// $(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
// // $(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+3));
// //
// //
// // }else if(tevet4!=""&&$(obj).val().match(tevet4)==null){
// // //先把非数字的都替换掉
// // $(obj).val($(obj).val().replace(/[^\d]/g,""));
// // }
// //
// // if($(obj).val()>max){
// // tevet1=/^(\.\d{1,4})\|(0?\.\d{1,4})$/;
// // //必须保证第一个为数字而不是.
// // $(obj).val($(obj).val().replace(/^\./g,""));
// // //先把非数字的都替换掉，除了数字和'.'
// // $(obj).val($(obj).val().replace(/[^\d\.]/g,""));
// // //保证只有出现一个.而没有多个.
// // $(obj).val($(obj).val().replace(/\.{2,}/g,"."));
// // //保证.只出现一次，而不能出现两次以上
// //
// $(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
// // $(obj).val($(obj).val().substring(0, $(obj).val().length-1));
// // }
// //
// //
// //
// //
// if(parseInt($(obj).val().substring(0,1))==parseInt('0')&&$(obj).val().length>1){
// // if($(obj).val().substring(1,2)!='.'&&$(obj).val().length>1){
// // tevet1=/^(\.\d{1,4})\|(0?\.\d{1,4})$/;
// // //必须保证第一个为数字而不是.
// // $(obj).val($(obj).val().replace(/^\./g,""));
// // //先把非数字的都替换掉，除了数字和'.'穿越火线官方下载
// // $(obj).val($(obj).val().replace(/[^\d\.]/g,""));
// // //保证只有出现一个.而没有多个.
// // $(obj).val($(obj).val().replace(/\.{2,}/g,"."));
// // //保证.只出现一次，而不能出现两次以上
// //
// $(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
// // $(obj).val('');
// // }
// // }
// }





/*******************************************************************************
 * 重写datagrid 列表界面的文本录入框
 ******************************************************************************/
$.extend($.fn.datagrid.defaults.editors, {   
      text: {   
          init: function(container, options){ 
    		var input = $('<input type="text" id="editablebox" style="padding:4px 0px 3px;background-color: #c7dcff;" class="datagrid-editable-input">').appendTo(container);     
         	var colnName=$($(input).parents("td[field]")[0]).attr("field");   // 不需要配置列名
         	var textAlign=$($($(input).parents("td[field]")[0]).find("div")[0]).css("text-align");
	 		$(input).css("text-align",textAlign);
    	  	var curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
    	  	
    	  	$(input).focus(function(){
    	  		$(curDiv).attr("colnName",colnName);
    	  	});
    	  	
    	  	if(options!=null&&options!=undefined){
    	  	var bycVerfiy=options.bycVerfiy; 
    	  	if(bycVerfiy!=null&&bycVerfiy!=undefined&&bycVerfiy=="T"){
	 			  //焦点离开事件
	 				$(input).blur(function(event){
	 					var realVal=$(input).val(); 
	 					//判断获取到值
	 					if(realVal!=null&&realVal!=undefined&&realVal!=''){
	 						if(realVal.search(/^\d+-\d+$/) == -1){
	 						$.messager.confirm('提示','版印次格式不正确,正确的是:1-1,1-2</br>确认修改吗？',function(r){   
								   if (r){   
									      $(input).val('');
									     }   
									 });  
	 						}
	 					}
	 				});
		 		}
    	  	}
            return input;   
          },   
          getValue: function(target){   
              return $(target).val();   
          },   
         setValue: function(target, value){   
             $(target).val(value);   
         },   
         resize: function(target, width){   
             var input = $(target);   
             if ($.boxModel == true){   
                 input.width(width - (input.outerWidth() - input.width()));   
             } else {   
                 input.width(width);   
             }   
         }   
     }   
 });  



/*******************************************************************************
 * datagrid 列表界面的数字录入框
 ******************************************************************************/
$.extend($.fn.datagrid.defaults.editors, { 
	numberbox: {   
      init: function(container, options){  
			var cur=$('<input  type="text" id="editablebox" id="showVal"  style="padding: 3px 1px 5px;width:95%;background-color: #c7dcff;border:none">');  		// 存显示格式化的字段
			var curh = $('<input  type="hidden" id="hideVal" >');   // 存隐藏的字段也就是字段的实际的值
			var editor = cur.appendTo(container);
		    editor=curh.appendTo(container);
		    
		    var clacufmat=options.clacufmat;			// 参与计算公式的方法
		    var prefix=options.prefix;   				// 前缀（当鼠标获取焦点的时候要把前缀去掉，当鼠标离开的时候要把前缀加上）
	 		var suffix=options.suffix;    				// 后缀 （同上）
	 		var ispresame=options.ispresame;   			// 数据库中是否加前缀（数据库中的原值，是否带前缀）
	 		var issufsame=options.issufsame;   			// 数据库中是否加后缀（同上）
	 		var formatfunc=options.formatfunc;   		// 格式化数字类型的函数（一般用与格式化去掉前缀和后缀之后的值）
	 		var filterFunction=options.filterFunc;   	// 前置回调函数
	 		var keyfmat="";
	 		
	 		var colnName=$($(cur).parents("td[field]")[0]).attr("field");   // 列名目前不需要配置
	 		var textAlign=$($($(cur).parents("td[field]")[0]).find("div")[0]).css("text-align");
	 		$(cur).css("text-align",textAlign);
	 		var curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
	 		var pre=$(curDiv).attr("prefix");		// 单据的前缀目前不需要配置
	 		var dsId=$(curDiv).attr("realdsid");		// dsId不需要配置
	 		
	 		$(curh).attr("ispresame",ispresame);
	 		$(curh).attr("issufsame",issufsame);
	 		$(curh).attr("colnName",colnName);
	 		$(curh).attr("prefix",prefix);
	 		$(curh).attr("suffix",suffix);
	 		$(curh).attr("formatfunc",formatfunc);
	 		$(curh).attr("clacufmat",clacufmat); 
	 		$(curh).attr("ispl","true");
		 	$(cur).keyup(function(event){
		 		event = window.event||event;
		 		$(this).attr("keyCode",event.keyCode);
		 		//上下键，和enter 键
		 		clearNotNum(event,cur,options);
		 		$(curh).val($(cur).val());
		 	});
		 	$(cur).keydown(function(event){
		 		// 响应鼠标事件，允许上下左右方向，enter，tab 键键移动   
		 		event = window.event||event;
		 		if(event.keyCode == 38 |event.keyCode == 40|event.keyCode == 37|event.keyCode == 39|event.keyCode == 13| event.keyCode == 9){  
		 			return; 
		 		}
		 		if(filterFunction!=undefined&&filterFunction!=null&&filterFunction!=""){
		 			 eval(filterFunction).call(this,pre);
		 		}
		 	});
		 	$(cur).focus(function(){  // 获取焦点的时候值选中
		 		// 原值选中，并且此时文本框选中的值是真实的存在于数据库中的值（也就是失去前缀和后缀的值）
		 		$(cur).val($(curh).val());
		 		$(cur).attr("oldVal",$(cur).val());
		 		$(cur).select();
		 		$(curDiv).attr("colnName",colnName);
		 	});
		 	$(cur).blur(function(){    // 失去焦点的时候加载值
		 		var realVal=$(cur).val();   // 输入的值
		 		if($(cur).attr("oldVal")!=realVal){
		 			$(curh).attr("chan","T");
		 		}
		 		if(realVal==null||realVal==""){
		 			$(curh).val("");
		 		}else{
		 			$(curh).val(realVal);
		 			// 获取小数点的位置，如果在第一位，那么就在小数点上加0
		 			var spotIndex=$(curh).val().indexOf('.');
		 			if(spotIndex==0){
		 				$(curh).val("0"+$(curh).val());
		 			}
		 			// 格式化函数
			 		if(formatfunc!=null&&formatfunc!=undefined&&formatfunc!=""){
			 			var curVal=eval('window.parent.'+formatfunc).call(cur,realVal);
				 		$(cur).val(curVal);
			 		}
		 			// 加前缀
		 			if(ispresame!=null&&ispresame!=undefined&&ispresame=="T"){   // 数据库中也加前缀
			 			var no=realVal.toString().indexOf(prefix); 
			 			if(no!=0){ // 如果前缀不存在，那么就加前缀
			 				$(curh).val(prefix+$(curh).val());
			 			}
			 		}
		 			// 加后缀
		 			if(issufsame!=null&&issufsame!=undefined&&issufsame=="T"){   // /数据库中也加后缀
			 			// 判断后缀的位置
		 				var no=$(curh).val().indexOf(suffix);
			 			// 判断是否加后缀
			 			if(no!=($(curh).val().length-1)){ // 如果后缀不存在，那么就加后缀
			 				$(curh).val($(curh).val()+suffix);
			 			}
			 		}
		 		}
		 		// 鼠标离开的时检查该输入框书是否参与了计算
		 		if(clacufmat!=null&&clacufmat!=undefined&&clacufmat!=""){
		 			eval(clacufmat).call(this,$(curh));
		 		}
		 		//上键，下键，enter 键 的执行完之后移除blur事件，防止重复调用
		 		if($(this).attr("keyCode")==40||$(this).attr("keyCode")==38||$(this).attr("keyCode")==13){
		 			$(cur).unbind("blur");
		 		}
		 	});
	        return editor;
      },   
      getValue: function(target){
    	  // 判断前缀后缀
    	  var prefix = $(target).attr("prefix");
    	  var ispresame = $(target).attr("ispresame");
    	  var issufsame=$(target).attr("issufsame");
    	  var realVal= $(target).val();   // 输入的值
   		  var prefix=$(target).attr("prefix");
   		  var suffix=$(target).attr("suffix");
    	  if(ispresame != null && ispresame != undefined && ispresame == "T"){ // 数据库中也加前缀
    	      var no = realVal.toString().indexOf(prefix);
    	      if(no != 0){ // 如果前缀不存在，那么就加前缀
    	          $(target).val(prefix + $(target).val());
    	      }
    	  }
    	  // 加后缀
    	  if(issufsame != null && issufsame != undefined && issufsame == "T"){ // /数据库中也加后缀
    	      // 判断后缀的位置
    	      var no = $(target).val().indexOf(suffix);
    	      // 判断是否加后缀
    	      if(no != ($(target).val().length - 1)){ // 如果后缀不存在，那么就加后缀
    	          $(target).val($(target).val() + suffix);
    	      }
    	  }
    	  return $(target).val();
      },   
      setValue: function(target,value){   // 先执行set,后执行get
    	  // 格式化编辑器中的值
    	  $(target).prev().val(value);
    	  $(target).val(value);
    	  var formatfunc=$(target).attr("formatfunc"); // 格式化函数
    	  if(value!=null&&value!=undefined&&value!=""&&formatfunc!=undefined&&formatfunc!=""){
    		  var curVal=eval('window.parent.'+formatfunc).call(target,value);
    		  $(target).prev().val(curVal);
    	  }
      },   
      resize: function(target, width){   
      	console.log("resize method invoke!"); 
      },
      destroy: function(target){ 
    	console.log("destroy method invoke!"); 
      }
  }   
});  




//清除不是数字的字符
function clearNotNum(event,obj,options){ 
	var min=0;   // 最小值默认为0，因为如果是负数，就会加前缀'-'
	var min=options.min;   // 允许的最小值
	var max=options.max;   // 允许的最大值
	var prefix=options.prefix;   // 前缀
	var suffix=options.suffix;   // 后缀
	var precision=options.precision==null?0:options.precision;  // 获取小数点的位数
	var tevet1="";
	var tevet2="";
	var tevet3="";
	var tevet4="";
	
	// 精确度最大四位的小于0的小数(一般用于折扣)
	if(max==1){
		tevet1=/^(\.\d{1,4})\|(0?\.\d{1,4})$/;
	}
	// 如果精确度为为四位小数的大于0的数
     if(precision!=undefined&&precision!='undefined'&&precision!="null"&&precision!=""&&precision=="4"){
		tevet2=/^\d{1,8}(\.\d{0,4})?$/;
	}
	// 如果是精确度为两位小数
	else if(precision!=undefined&&precision!='undefined'&&precision!="null"&&precision!=""&&precision=="2"){
		tevet3= /^\d{1,8}(\.\d{1,2})?$/;
	}
	// 如果小数点的位数为空或者为0，那么代表只能输入整数
	else if(precision==undefined||precision=='undefined'||precision=="null"||precision==""||precision=="0"){
		tevet4= /^\d{1,8}$/;
	}
	
	 // 响应鼠标事件，允许左右方向键移动
	event = window.event||event;
	if(event.keyCode == 37 | event.keyCode == 39){
		return; 
	}
	// 精确度最大四位的小于0的小数（不满足条件）
	if(tevet1!=""&&$(obj).val().match(tevet1)==null){
		// 先把除了数字和'.'的字符都替换掉
		$(obj).val($(obj).val().replace(/[^\d\.]/g,""));
		// 保证只有出现一个.而没有多个.
		$(obj).val($(obj).val().replace(/\.{2,}/g,"."));
		// 保证.只出现一次，而不能出现两次以上
		$(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
		if(tevet2!=""){
			$(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+5));
		}else if (tevet2!="") {
			$(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+3));
		}else if (tevet4!="") {
			if($(obj).val().indexOf(".")!=-1){
				$(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")));
			}
		}
	}
	// 如果精确度为为四位小数的大于0的数
	else if(tevet2!=""&&$(obj).val().match(tevet2)==null){
		// 必须保证第一个为数字而不是.
		// $(obj).val($(obj).val().replace(/^\./g,""));
		// 先把非数字的都替换掉，除了数字和'.'
		$(obj).val($(obj).val().replace(/[^\d.]/g,""));
		// 保证只有出现一个.而没有多个.
		$(obj).val($(obj).val().replace(/\.{2,}/g,"."));
		// 保证.只出现一次，而不能出现两次以上
		$(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
		$(obj).val($(obj).val().substring(0, $(obj).val().indexOf(".")+5));
	}
	// 如果是精确度为两位小数
	else if(tevet3!=""&&$(obj).val().match(tevet3)==null){
		// 必须保证第一个为数字而不是.
		// $(obj).val($(obj).val().replace(/^\./g,""));
		// 先把非数字的都替换掉，除了数字和'.'
		$(obj).val($(obj).val().replace(/[^\d\.]/g,""));
		// 保证只有出现一个.而没有多个.
		$(obj).val($(obj).val().replace(/\.{2,}/g,"."));
		// 保证.只出现一次，而不能出现两次以上
		$(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
		$(obj).val($(obj).val().substring(0,$(obj).val().indexOf(".")+3));
		
		
	}else if(tevet4!=""&&$(obj).val().match(tevet4)==null){
		// 先把非数字的都替换掉
		$(obj).val($(obj).val().replace(/[^\d]/g,""));
	}
	if($(obj).val()>max){
		tevet1=/^(\.\d{1,4})\|(0?\.\d{1,4})$/;
		// 必须保证第一个为数字而不是.
		$(obj).val($(obj).val().replace(/^\./g,""));
		// 先把非数字的都替换掉，除了数字和'.'
		$(obj).val($(obj).val().replace(/[^\d\.]/g,""));
		// 保证只有出现一个.而没有多个.
		$(obj).val($(obj).val().replace(/\.{2,}/g,"."));
		// 保证.只出现一次，而不能出现两次以上
		$(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
		$(obj).val($(obj).val().substring(0,$(obj).val().length-1));
	}
	if(parseInt($(obj).val().substring(0,1))==parseInt('0')&&$(obj).val().length>1){
		if($(obj).val().substring(1,2)!='.'&&$(obj).val().length>1){
			tevet1=/^(\.\d{1,4})\|(0?\.\d{1,4})$/;
			// 必须保证第一个为数字而不是.
			$(obj).val($(obj).val().replace(/^\./g,""));
			// 先把非数字的都替换掉，除了数字和'.'
			$(obj).val($(obj).val().replace(/[^\d\.]/g,""));
			// 保证只有出现一个.而没有多个.
			$(obj).val($(obj).val().replace(/\.{2,}/g,"."));
			// 保证.只出现一次，而不能出现两次以上
			$(obj).val($(obj).val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));
			$(obj).val('');
		}
	}
}


//成本确认单中如果是由系统生成的直接成本，那么摊销数是可以修改的
function cwFilter001(prefix){
	var index=$("div[realdsid][prefix][dsid]").datagrid("getEditRowIndex");
	var allRows=$("div[realdsid][prefix][dsid]").datagrid("getRows");
	var fsoureId=allRows[index]["FLOW_SOURCE_DJID"];   // 单据类型
	if(fsoureId!=null&&fsoureId!=""){   // 非直接成本是允许确认摊销数的
		$($("div[realdsid][prefix][dsid]").datagrid("getEditor",{index:index,field:'TX_AMOUNT'}).target[0]).parent("td").find("#editablebox").attr("readonly","true");
	}
}




//成本核算单  材料费中的 材料单价修改验证
function cbhsvifily(prefix){
	var index=$("div[realdsid][prefix][dsid]").datagrid("getEditRowIndex");;
	var allRows=$("div[realdsid][prefix][dsid]").datagrid("getRows");
	var soureId=allRows[index].CL_TYPE;   // 单据类型
	if(soureId!=2){
		$.messager.alert('提示','非厂料不可修改单价');
		return;
	}
	
}

//成本核算单  材料费中的 供应商修改验证
function cbhsvifilyMID(prefix){
    var index=$("div[realdsid][prefix][dsid]").datagrid("getEditRowIndex");;
    var allRows=$("div[realdsid][prefix][dsid]").datagrid("getRows");
    var soureId=allRows[index].CL_TYPE;   // 单据类型
    if(soureId!=2){
        $.messager.alert('提示','非厂料不可修改供应商');
        return "false";
    }
}

//订货合同明细中如果是特种纸，那么克重和单位,交货库房是不可以选择的(numberbox框)
 function dhMxBindCK(prefix){
 	var colnName=$("#"+prefix+"_addItemDatagrid").attr("colnName");			//获取特种纸动态colnName的值
	var clTypeVal=$("#"+prefix+"_addWinForm").find("select[qucln=DJ_TYPE]").val();// 获取纸张类型 
		if(clTypeVal==null||clTypeVal==undefined||clTypeVal==""){			//判断纸张类型是否为空
			$.messager.alert("操作提示","请先选择纸张类型");
			return "false";
		}
		if(colnName == 'CL_AMOUNT'){	//实际采购数量
			if(clTypeVal=='dhhtType.002'){		//纸张类型为dhhtType.002 特种纸，弹出下面提示
				$.messager.alert("操作提示","亲,【特种纸】的材料【实际采购数量】是由【印刷付印单确认】确认的，不可修改哦~");
				return "false";
			}
		}
 }

 /*******************************************************************************
  * datagrid 列表界面时间控件的封装
  ******************************************************************************/
 $.extend($.fn.datagrid.defaults.editors,{
     datebox: {
         init: function(container, options){
 			var cur = $("<input type='text' id='editablebox' style= 'background-image: url(\"../model/images/datebox_arrow.png\"); background-position: right center; background-repeat: no-repeat;border:0;width:100%;padding: 4px 0px 3px;background-color: #c7dcff;' >").appendTo(container);
 			var colnName=$($(cur).parents("td[field]")[0]).attr("field");
 			var textAlign=$($($(cur).parents("td[field]")[0]).find("div")[0]).css("text-align");
  	 		$(cur).css("text-align",textAlign);
 			var curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
 			$(cur).focus(function(){
 		        $(curDiv).attr("colnName",colnName);
 		    });
 			$(cur).click(function (){
 	        	WdatePicker({dateFmt:'yyyy-MM-dd'});     
 	        });
 	        return cur;
 	    },
         getValue: function (target) {// 把编辑框里的值 赋给明细
 	    	 return parseDate($(target).val());   
         },
         setValue: function (target, value) {// 获取明细的值给 编辑框
         	 $(target).val(formatDate(value));
         },
         resize: function (target,width) {
             
         }
     }
 });


/*******************************************************************************
 * datagrid页面的大文本框的封装
 ******************************************************************************/
$.extend($.fn.datagrid.defaults.editors,{ 
	textarea: {
		init: function(container, options){ 
	        var me = this; 
	        var cur = $('<textarea id="editablebox" style="width:99%;height:25px;background-color: #c7dcff;border:none"></textarea>'); 
	        var area = $('<textarea rows="13" cols="69" style="display:none" ></textarea>');
	        var tearW = $('<div id="win"></div>');
	        tearW.append(area);
	        tearW.appendTo(container); 
	        var editor = cur.appendTo(container); 
	        var colnName=$($(cur).parents("td[field]")[0]).attr("field");
	        var textAlign=$($($(cur).parents("td[field]")[0]).find("div")[0]).css("text-align");
	 		$(cur).css("text-align",textAlign);
	    	var curDiv=$("div[realdsid][prefix][dsid]");  // 获取datagrid的div
	        $(cur).focus(function(){
	        	$(curDiv).attr("colnName",colnName);
	        });
	        $(cur).dblclick(function (){
	        	textareaWin = undefined; 
	            if((typeof(textareaWin)=='undefined') ){
	            	$(area).val($(cur).val()); 
	                $(area).show();
	                textareaWin = $(tearW).dialog({ 
	                    title:'文本编辑框', 
	                    width:450, 
	                    height:320, 
	                    closable:false, 
	                    resizable:false, 
	                    closed: false, 
	                    collapsible:false, 
	                    maximizable:false, 
	                    minimizable:false, 
	                    modal:true, 
	                    buttons:[{ 
	                        text:'确定', 
	                        iconCls:'icon-add', 
	                        handler:function(){ 
	                    	 	var textVal = $(area).val(); 
	                            $(cur).val(textVal); 
	                            $(cur).focus();
	                            textareaWin.window('close'); 
	                            textareaWin = undefined; 
	                        } 
	                    },{ 
	                        iconCls:'icon-reject', 
	                        text:'关闭', 
	                        handler:function(){ 
                                textareaWin.window('close'); 
                                textareaWin = undefined; 
                                $(area).hide();
                                $(cur).focus();
	                        } 
	                    }] 
	                    
	                }); 
                $(area).focus(); 
            } 
        }); 
	        editor.enableEdit = false; 
	        return editor; 
    	}, 
    	getValue: function(target){ // 把编辑框里的值 赋给明细
    		return $(target).val();  
    	},  
    	setValue: function(target, value){// 获取明细的值给 编辑框
    		$(target).val(value); 
    	}, 
    	resize: function(target, width){ 
    	}, 
    	destroy: function(target){ 
    		textareaWin = undefined; 
    	} 
	} 
}); 
//组装下拉框内容，返回字符串
function pjSelect(data){
	 var optionsStr="";
     for( var i = 0 ; i < data.length; i++){
       optionsStr+='<option value='+data[i]["ID"]+'>'+data[i]["NAME"]+'</option>';
     }
     return optionsStr; 
}


/*******************************************************************************
 * datagrid下拉框的封装
 ******************************************************************************/
$.extend($.fn.datagrid.defaults.editors, { 
	  combobox: {
	    init: function(container, options){
	      var me = this;
	      var func=options.func;    					// change事件调用的方法
	      var filterFunction=options.filterFunc;   		// focus事件调用的方法（弹框前过滤条件的方法）
	      var dateObj=options.dateObj;   				// 填充下拉框的数组对象(实际上是对照信息的对象)
	      var relationFlag=options.relationflag==null?'F':'T';   		// 判断该下拉框是不是需要拉取信息
	     
	      // 填充下拉框的数据
	      options.data= eval("window.parent."+dateObj);
	      if(options.data==undefined){
	    	  alert(dateObj+"下拉框的配置有问题，请检查！")
	      }
	      var optionsStr=pjSelect(options.data);
	      var cur=$('<select  class="ainit_combox" id="editablebox" ><select/>');
	      var curOp=$('<option value=""></option>'+optionsStr+'');
	      $(cur).append($(curOp));  
	      var editor = cur.appendTo(container);
	      
	      var colnName=$($(cur).parents("td[field]")[0]).attr("field"); // 列名不需要配置
	      var textAlign=$($($(cur).parents("td[field]")[0]).find("div")[0]).css("text-align");
	      var bgColor=$($($(cur).parents("td[field]")[0])).css("background-color");
	      $(cur).css("text-align",textAlign);
	      if(bgColor!='transparent'){
	    	  $(cur).css("background",bgColor);
	      }
	      var curDiv=$("div[realdsid][prefix][dsid]");  				// 获取datagrid的div
	      var dsId=$(curDiv).attr("realdsid");      					// dsId不用配置
	      var prefix=$(curDiv).attr("prefix")							// prefix不用配置
	      $(cur).attr("colnName",colnName);
	      $(cur).attr("relationflag",relationFlag);
	      $(cur).focus(function(){
	    	  var oldVal = $(cur).val();
	    	  $(cur).attr("oldVal",$(cur).val());
	    	  $(curDiv).attr("colnName",colnName);
	    	  // 判断下拉框有没有过滤条件
	    	  var filterStr="";
		      if(filterFunction!=null&&filterFunction!=undefined&&filterFunction!='undefined'&&filterFunction!=""){
	              filterStr=eval(filterFunction).call(this,prefix);
	              if(filterStr=="false"){
	            	  return;
	              }else{
	            	  if(filterStr!=""){
	            		  $(curOp).remove();
		            	  var dzData=loadDzSource(dateObj,filterStr);
		            	  if(dzData!=null){
		            		    // 填充下拉框的数据
		            	      optionsStr=pjSelect(dzData);
		            	      curOp=$('<option value=""></option>'+optionsStr+'');
		            		  $(cur).append($(curOp)); 
		            		  $(cur).find("option[value='"+oldVal+"']").attr("selected",true);  
		            	  }
	            	  }
	              }
	          }
	       });
	       $(cur).change(function(){
	         var valStr = $(cur).find('option:selected').val();
	         if(func != null && func!=undefined && func != ''){
	           eval(func).call(this,$(cur).val(),prefix,$(cur));
	         }
	         if($(this).attr("relationflag")=='T'){ 
	             if(valStr!=""&&valStr!='undefined'){
	            	 $.ajax({
		 	             type:'post',
		 	             url:_m_url+'framework/relationCol',
		 	             data:{'colName':colnName,'dsId':dsId,'relationVal':valStr},
		 	             success:function(data){
		 	            	if(data.objList != null && data.objList !=""){
		 	            		var currentIndex=$(curDiv).attr("currentIndex");
		 						var allRows = $(curDiv).datagrid('getRows');
		 						// 填充明细的对照信息
		 						$(curDiv).datagrid("endEdit",currentIndex);
		 						fillMxDz(allRows[currentIndex],data.objList[0]);
		 						$(curDiv).datagrid("beginEdit",currentIndex);
			 	            }
		 	             }
		 	         });
	 	         }
	         }
	      });
	     editor.enableEdit = false; 
	        return editor; 
	    }, 
	    getValue: function(target){
	        return $(target).val();  
	    },
	    setValue: function(target,value){  
	        $(target).val(value); 
	    }, 
	    resize: function(target, width){ 
	        console.log("resize method invoke!");       
	    }, 
	    destroy: function(target){ 
	        console.log("destroy method invoke!"); 
	    }
		} 
}); 


// 填充明细的对照信息
function fillMxDz(currentSel,rowData){
	for( p in currentSel){
		for(var i in rowData){
			if(i==p){
				currentSel[p]=rowData[i];
			} 
		}
	}
}

/*******************************************************************************
 * 新书分发中根据客户名查询送货地址
 ******************************************************************************/
function filterSendAddress(prefix){
	var currentRow=$('#'+prefix+'_addItemDatagrid').datagrid("getEditRow");  //获取正在编辑的行
	var index=$('#'+prefix+'_addItemDatagrid').datagrid("getRowIndex",currentRow);
	if(index==undefined||index==null){
		return "false";
	}
	var allRows =$("#"+prefix+"_addItemDatagrid").datagrid("getRows");
	var cId=allRows[index]["C_ID"];// 获取客户的Id
	var str="C_ID = "+ "'"+cId+"'";
	return str;
}


/*******************************************************************************
 * 订货合同明细中如果是特种纸，那么克重和单位,交货库房是不可以选择的
 ******************************************************************************/
function dhMxBindGK(prefix){
	var colnName=$("#"+prefix+"_addItemDatagrid").attr("colnName");
	var clTypeVal=$("#"+prefix+"_addWinForm").find("select[qucln=DJ_TYPE]").val();// 获取纸张类型
	if(clTypeVal==null||clTypeVal==undefined||clTypeVal==""){
		$.messager.alert("操作提示","请先选择纸张类型");
		return "false";
	}
	if(colnName=='CL_WEIGHT'){    // 克重
		if(clTypeVal=='dhhtType.002'){
			$.messager.alert("操作提示","亲,【特种纸】的材料【克重】是由【印刷付印单确认】确认的，不可修改哦~");
			return "false";
		}
		
	}else if(colnName=='CL_GLEN'){   // 规格长度
		if(clTypeVal=='dhhtType.002'){
			$.messager.alert("操作提示","亲,【特种纸】的材料【规格长度】是由【印刷付印单确认】确认的，不可修改哦~");
			return "false";
		}
	}
	else if(colnName=='CL_GWID'){   // 规格宽度
		if(clTypeVal=='dhhtType.002'){
			$.messager.alert("操作提示","亲,【特种纸】的材料【规格宽度】是由【印刷付印单确认】确认的，不可修改哦~");
			return "false";
		}
	}
	else if(colnName=='CL_UNIT'){   // 单位
		if(clTypeVal=='dhhtType.002'){
			$.messager.alert("操作提示","亲,【特种纸】的材料【单位】是由【印刷付印单确认】确认的，不可修改哦~");
			return "false";
		}
	}else if(colnName=='ARRIVAL_STOCK'){   // 库房
		if(clTypeVal=='dhhtType.002'){
			$.messager.alert("操作提示","亲,【特种纸】的材料【交货库房】是由【印刷付印单确认】确认的，不可修改哦~");
			return "false";
		}
	}
	return "";
}


 
 

/*******************************************************************************
 * 加载下拉框的数据
 ******************************************************************************/
function loadDzSource(dzId,filterSql){
	var dzData=null;
	$.ajax({
		url:_m_url+'dz/queryDzData',   // 加载下拉框的默认值
		type:'post',
		data:{dzId:dzId,filterSql:filterSql},
		async:false,
		success:function(data){
			dzData=data;
		}
	});
	return dzData;
}

/*******************************************************************************
 * 印刷说明单中的材料单位发生改变的时候，用纸量，加放量，总数量会发生改变 cljlUnit.008(P) cljlUnit.002(令)
 * cljlUnit.003(张)
 ******************************************************************************/
function yzMxUnitCal(newVal,prefix,obj){
	var oldVal=$(obj).attr("oldVal");
	var grid=$("div[realdsid][prefix][dsid]");
	var index=$(grid).datagrid("getEditRowIndex");
	var allRows=$(grid).datagrid("getRows");
	var rowData={};
	if((oldVal=='cljlUnit.002'||oldVal=='cljlUnit.008')&&newVal=='cljlUnit.003'){   // 由张转换成令
		rowData["CL_AMOUNT"]=(allRows[index]["CL_AMOUNT"]*500);
		rowData["CL_ADDAMOUNT"]=(allRows[index]["CL_ADDAMOUNT"]*500);
		rowData["TOTALAMOUNT"]=(allRows[index]["TOTALAMOUNT"]*500);;
	}else if(oldVal=='cljlUnit.003'&&(newVal=='cljlUnit.002'||newVal=='cljlUnit.008')){   // 由令转换成张(有可能是小数)
		rowData["CL_AMOUNT"]=(allRows[index]["CL_AMOUNT"]/500);
		rowData["CL_ADDAMOUNT"]=(allRows[index]["CL_ADDAMOUNT"]/500);
		rowData["TOTALAMOUNT"]=(allRows[index]["TOTALAMOUNT"]/500);;
	}
	$(grid).datagrid("endEdit",index);
	fillMxDz(allRows[index],rowData);
	$(grid).datagrid("beginEdit",index);
}



/*******************************************************************************
 * 订货合同中的材料单位发生改变的时候，用纸量，加放量，总数量会发生改变 cljlUnit.008(P) cljlUnit.002(令)
 * cljlUnit.003(张)
 ******************************************************************************/
function dhhtMxUnitCal(newVal,prefix,obj){
	var oldVal=$(obj).attr("oldVal");
	var grid=$("div[realdsid][prefix][dsid]");
	var index=$(grid).datagrid("getEditRowIndex");
	var allRows=$(grid).datagrid("getRows");
	var rowData={};
	if((oldVal=='cljlUnit.002'||oldVal=='cljlUnit.008')&&newVal=='cljlUnit.003'){   // 由张转换成令
		rowData["CL_AMOUNT"]=(allRows[index]["CL_AMOUNT"]*500);
		rowData["CL_PRICE"]=(allRows[index]["CL_PRICE"]/500);
	}else if(oldVal=='cljlUnit.003'&&(newVal=='cljlUnit.002'||newVal=='cljlUnit.008')){   // 由令转换成张(有可能是小数)
		rowData["CL_AMOUNT"]=(allRows[index]["CL_AMOUNT"]/500);
		rowData["CL_PRICE"]=(allRows[index]["CL_PRICE"]*500);
	}
	$(grid).datagrid("endEdit",index);
	fillMxDz(allRows[index],rowData);
	$(grid).datagrid("beginEdit",index);
}

/*******************************************************************************
 * 印刷付印单明细中如果纸张类型为常规纸，那么克重，库房（由合同号决定的）是不允许用户选择的
 * 
 * @param prefix
 * @return
 */
function yzMx003(prefix){
	var index=$("#"+prefix+"_addItemDatagrid").datagrid("getEditRowIndex");;
	var colnName=$("#"+prefix+"_addItemDatagrid").attr("colnName");
	var clBuy=$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:'CL_BUY'}).target.val();  // 纸张类型
	var val=$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:colnName}).target.val();  
	if(clBuy==""){
		$.messager.alert("操作提示",'亲，请先选择【纸张类型】!');
		return "false";
	}
	else if(colnName=='CL_PICI_WEIGHT'){   // 克重
		if(clBuy=="0"){  
			$.messager.alert("操作提示",'亲，您正在使用【常规纸】，纸张的【克重】是由合同号决定的，无须手动选择！');
			return "false";
		}
	}
	else if(colnName=='CL_GLEN'){   // 规格长度
		if(clBuy=="0"){  
			$.messager.alert("操作提示","亲，您正在使用【常规纸】，【规格长度】是由合同号决定的，无须手动选择！");
			return "false";
		}
	}
	else if(colnName=='CL_GWID'){   // 规格宽度
		if(clBuy=="0"){  
			$.messager.alert("操作提示","亲，您正在使用【常规纸】，【规格宽度】是由合同号决定的，无须手动选择！");
			return "false";
		}
	}
	else if(colnName=='CL_STOCK'){    // 库房
		if(clBuy=="0"){  
			$.messager.alert("操作提示",'亲，您正在使用【常规纸】，【材料库房】是由合同号决定的，无须手动选择！');
			return "false";
		}
	}
	return "";
}

/*******************************************************************************
 * 印刷付印单纸张类型发生改变的时候合同号清空
 */
function yzMx004(val,prefix){
	var index=$("#"+prefix+"_addItemDatagrid").datagrid("getEditRowIndex");
	$("#"+prefix+"_addItemDatagrid").datagrid('getEditor',{index:index,field:'CL_ID_PICI'}).target.parent().find("input").val("");  // 合同号清空
}








/*******************************************************************************
 * "JS_ERR0x0001" 表单未补全 "JS_ERR0x0002" 界面重复保存错误 "JS_ERR0x0003" "JS_ERR0x0004"
 * "JS_ERR0x0005" "JS_ERR0x0006"
 */

String.prototype.replaceDH=function(){
			return this.replace(/\,/g, "^^");
		}

String.prototype.replaceDH=function(){
	return this.replace(/-/g, "^^");
}

String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function parseParams(arr){
		for(var i = 0; i < arr.length; i++){
			arr[i] = arr[i].toString().replaceDH();
		}
		return arr.toString();
}
// 将form中的值转换为键值对。
// 形如：{name:'aaa',password:'tttt'}
// ps:注意将同名的放在一个数组里
// 如果有时间就转换成long



/*******************************************************************************
 * 将from表单中所有的列和列值转换成键值对的对象（通用保存时用到了）
 ******************************************************************************/
function getFormJsons(formid){
	var o = {};
	var change=0;
	// 列明不为空,并且该列不是隐藏，并且该列的属性chan='T'
	$("#"+formid+" input").each(function(){
		var coluname=$(this).attr('qucln');
		if(typeof(coluname) != 'undefined'&&coluname!= 'undefined'&&coluname!=""){
			if(typeof($(this).attr('vpk')) != 'undefined' && ($(this).attr('vpk') == 'T')){  // 是主键直接赋值(不用判断vpk)
				o[coluname] = this.value || '';
			}else if($(this).attr("chan")=='T'){
				if($(this).attr('eletype') == "datetime"){
					o[coluname] = parseDatetime(this.value|| '');
					change=1;
				}else if($(this).attr('eletype') == "date"){
					o[coluname] = parseDate(this.value || '');
					change=1;
				}else if($(this).attr('eletype') == "time"){
					o[coluname] = parseTime(this.value || '');
					change=1;
				}else if($(this).attr('eletype') == "percent"){ // 百分号
					var perVal = this.value.split('%')[0];
					var thenVal = parseFloat(perVal)/100;
					o[coluname] = thenVal || '';
					change=1;
				}else if($(this).attr('eletype') == "datalist" && $(this).attr('sm') == "false"){    // 如果是多选的一对多的话，那么封装成对象
					// 如果一对多弹框是灰化不可编辑或者该一对多弹框是被拉取的那么就不需要封装成对象
					if((typeof($(this).attr("rauto"))!="undefined"&&$(this).attr("rauto")=="true")||(typeof($(this).attr("nowrite"))!="undefined"&&$(this).attr("nowrite")=="true")||
							(typeof($(this).attr("lqdz"))!='undefined'&&$(this).attr("lqdz")!="")){
						o[coluname] =$(this).val();
					}else{
						// 如果没有弹框那么说明是复制过来的数据，直接保存即可
						if($(this).parent().children('#light').length==0){    // 判断弹框又没有存在
							o[coluname] =$(this).val();
						}
						// 如果有弹框那么就封装弹框的选中的行
						else{
							var selectRows=null;
							if($(this).attr("modeltype")==6||$(this).attr("modeltype")==8){   // 带勾选的弹框
								selectRows=$(this).parent().find('div #datalistFilter').datagrid("getRows");   // 获取已选里面的所有的行
							}else if($(this).attr("modeltype")==7||$(this).attr("modeltype")==5){
								selectRows=$(this).parent().find('div #datalist_m').datagrid("getRows");   // 获取已选里面的所有的行
							}else{
								$.messager.alert("提示信息",$(this).attr("qucln")+"的modeltype配置不正确，请检查");
							}
							var dataList=new Array();
							var dsid=$(this).attr("dsid");
							var sinId=$(this).val();
							var multidsid=$(this).attr("multidsid");
							var sameDsid=$(this).attr("mulsamedsid");
							if($(this).val()==null||$(this).val()==""){     // 如果一对多外键不存在的时候,那么diu=0,否则diu=1
								dataList={"diu":"0","dsId":dsid,"multidsid":multidsid,"sinId":"","coluname":coluname,"sameDsid":sameDsid,"rows":selectRows};
							}else{
								dataList={"diu":"1","dsId":dsid,"multidsid":multidsid,"sinId":sinId,"coluname":coluname,"sameDsid":sameDsid,"rows":selectRows};
							}
							o[coluname]=dataList;
						}
					}
					change=1;
				}
				else{
					o[coluname] = this.value || '';
					change=1;
				}
			}
		}
	});
	$("#"+formid+" select").each(function(){
		var coluname=$(this).attr('qucln');
		if(typeof(coluname) != 'undefined'&&coluname != 'undefined'&&coluname!=""&&$(this).attr("chan")=='T'){
			o[coluname] = this.value || '';
			change=1;
		}
	});
	$("#"+formid+" textarea").each(function(){
		var coluname=$(this).attr('qucln');
		if(typeof(coluname) != 'undefined'&&coluname != 'undefined'&&coluname!=""&&$(this).attr("chan")=='T'){
			o[coluname] = this.value || '';
			change=1;
		}
	});
	if(change==0){
		return change;
	}else{
		return o;
	}
}

// 将日期时间转换成long
function parseDatetime(dateTimeStr){
	return (new Date(dateTimeStr.replace(new RegExp("-","gm"),"/"))).getTime();
}
// 将日期转成long
function parseDate(dateStr){
	return (new Date(dateStr.replace(new RegExp("-","gm"),"/"))).getTime();
}
// 将时分秒转成long
function parseTime(timeStr){
	return (new Date(timeStr.replace(new RegExp("-","gm"),"/"))).getTime();
}


// 扩展DataFormat 方法
Date.prototype.format = function (format) {  
    var o = {  
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),  
        "h+": this.getHours(),  
        "m+": this.getMinutes(),  
        "s+": this.getSeconds(),  
        "q+": Math.floor((this.getMonth() + 3) / 3),  
        "S": this.getMilliseconds()  
    }  
    if (/(y+)/.test(format)) {  
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));  
    }  
    for (var k in o) {  
        if (new RegExp("(" + k + ")").test(format)) {  
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));  
        }  
    }  
    return format;  
}  
/**
 * 转换日期对象为日期字符串
 * 
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */    
function getSmpFormatDate(date, isFull) {  
    var pattern = "";  
    if (isFull == true || isFull == undefined) {  
        pattern = "yyyy-MM-dd hh:mm:ss";  
    } else {  
        pattern = "yyyy-MM-dd";  
    }  
    return getFormatDate(date, pattern);  
}  
/**
 * 转换当前日期对象为日期字符串
 * 
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */    

function getSmpFormatNowDate(isFull) {  
    return getSmpFormatDate(new Date(), isFull);  
}  
/**
 * 转换long值为日期字符串
 * 
 * @param l
 *            long值
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */    

function getSmpFormatDateByLong(l, isFull) {  
    return getSmpFormatDate(new Date(l), isFull);  
}  
/**
 * 转换long值为日期字符串
 * 
 * @param l
 *            long值
 * @param pattern
 *            格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */    

function getFormatDateByLong(l, pattern) {  
	if ( l > 0 ){
		return getFormatDate(new Date(l), pattern);
	}else{
		return "";
	}
}  
/**
 * 转换日期对象为日期字符串
 * 
 * @param l
 *            long值
 * @param pattern
 *            格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */    
function getFormatDate(date, pattern) {  
    if (date == undefined) {  
        date = new Date();  
    }  
    if (pattern == undefined) {  
        pattern = "yyyy-MM-dd hh:mm:ss";  
    }  
    return date.format(pattern);  
}  

/*******************************************************************************
 * 传long
 * 
 * @return 符合要求的日期 yyyy-MM-dd
 */
function formatDate(value){
	return getFormatDateByLong(value, "yyyy-MM-dd");
}
/*******************************************************************************
 * 传long
 * 
 * @return 符合要求的日期 yyyy-MM-dd hh:mm:ss
 */
function formatDateTime(value){
	return getFormatDateByLong(value, "yyyy-MM-dd hh:mm:ss");
}

/*******************************************************************************
 * 传long
 * 
 * @return 符合要求的日期 hh:mm:ss
 */
function formatTime(value){
	return getFormatDateByLong(value, "hh:mm:ss");
}


// *******************************************************
// 初始化方法
// *******************************************************
$(function(){
	// 将窗口初始化
	$('#parentTabPanel').window({  
					    width:document.documentElement.clientWidth,  
					    height:document.documentElement.clientHeight,  
					    draggable:false,
					    modal:true,
					    resizable:false,
					    closable:false,
					    maximizable:false,
					    minimizable:false
					});  
	$('#parentTabPanel').window('open');  // 关闭窗口
	// 初始化变量添加或者保存 V1.0.0
	
});
/*******************************************************************************
 * 界面效果
 *******************************************************************************/
var a = 600;
var b = 960;
function resizeGrid(){
//	var flag = parent.numFlag;
//	if(flag == 0||flag == 1){
//		var ch = document.documentElement.clientHeight;
//		var cw = document.documentElement.clientWidth;
//		var iw = window.parent.innerWidth;
//		var ih = window.parent.innerHeight;
//		//把easy ui的URL 清空，要不然，每次tab 选中的时候都去重复请求
//		console.log($('div[id*=_multabs]'));
//		$('div[id*=_multabs]').height(ch*15/42);
//		$('div[id*=_multabs]').width(cw*10/11-100);
//		$('*[id*=_DATALIST]').datagrid({url:null,"width":(iw-220), "height":(ch*36/45-100)});
//		$('div[id*=_addItemDatagrid]').datagrid({url:null,"width":cw-9, "height":ch-200});
//		$('div[id*=_m_parentPanel]').panel({"width":cw,"height":ch});
//		$('div[id*=_a_parentPanel]').panel({"width":cw,"height":ch});
//		if($('input[id*=_moro]').val()!='2'&&flag != 1){
//			$('div[id*=_costPanel2]').tabs({"width":(cw-11), "height":(ch-80)});
//		}
//		$('div[id=fh_comm_use]').css("width",iw-210);
//		$('div[id=prodGroupWY]').datagrid({"width":(iw-200), "height":(ih-400)});
//		$('div[id=prodGroupYY]').datagrid({"width":(iw-200), "height":(ih-400)});
//		$('div[id=clientsGroupWY]').datagrid({"width":iw-200, "height":(ih-400)});
//		$('div[id=clientsGroupYY]').datagrid({"width":(iw-200), "height":(ih-400)});
//		parent.numFlag = 1;
//	}
}



/*******************************************************************************
 * 将界面所有框序列化
 */
function serializeNaA(formid){
	if(checkRequire(formid)=='JS_ERR0x0001'){
		return 'JS_ERR0x0001';
	}
	var naparams = "";
	var naparams = $("#"+formid+" input").map(function(){ 
		if( $(this).attr('name') != null && $(this).attr('name') != 'null' && $(this).attr('name') != '' && $(this).val().trim() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	if(naparams != "")
	{naparams += ","}
		naparams += $("#"+formid+" select").map(function(){ 
		if($(this).attr('name') != null && $(this).attr('name') != 'null' && $(this).attr('name') != '' && $(this).val() != null && $(this).val() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	if(naparams != ""){naparams += ","}
	naparams += $("#"+formid+" textarea").map(function(){ 
		if( $(this).attr('name') != null && $(this).attr('name') != 'null' && $(this).attr('name') != '' && $(this).val().trim() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	return naparams;
}
/**
 * 检查界面是否都填 (冒号必须都是英文的，否则不提示)
 * @param formid
 * @return
 */
function checkRequire(formid){
	var objs = "";
	objs = $("#"+formid+" input[areq=true]");
	for(var i =0; i < objs.length; i++){
		if($(objs[i]).attr("eletype")=='datalist'&&$(objs[i]).attr("sm")=='false'&&$(objs[i]).attr('hd')!= 'T'){
			if($(objs[i]).parent().children("input[ismulcode=T]").val()==null||$(objs[i]).parent().children("input[ismulcode=T]").val()==""){
				sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");   
				if(typeof($(objs[i]).attr("dateformat")) == "undefined"){
					$(objs[i]).focus();
				}
				return 'JS_ERR0x0001';
			}
		}else{
			
			if($(objs[i]).attr("isprompt")=='T'){
				if(($(objs[i]).val() == null||$(objs[i]).val() == 'null'||$(objs[i]).val().trim() == "")&&$(objs[i]).attr('hd')!= 'T'){
					sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");   
					if(typeof($(objs[i]).attr("dateformat")) == "undefined"){
						$(objs[i]).focus();
					}
					return 'JS_ERR0x0001';
				}else{
					if($(objs[i]).attr("chan")!='T'&&$(objs[i]).val()==$(objs[i]).attr("promptmsg")){
						sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");   
						if(typeof($(objs[i]).attr("dateformat")) == "undefined"){
							$(objs[i]).focus();
						}
						return 'JS_ERR0x0001';
					}
				}
				sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");   
			}else{
				if(($(objs[i]).val() == null||$(objs[i]).val() == 'null'||$(objs[i]).val().trim() == "")&&$(objs[i]).attr('hd')!= 'T'){
					sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");   
					if(typeof($(objs[i]).attr("dateformat")) == "undefined"){
						$(objs[i]).focus();
					}
					return 'JS_ERR0x0001';
				}
			}
			
			
		}
		
	}
	objs = $("#"+formid+" select[areq=true]");
	for(var i =0; i < objs.length; i++){
		if(($(objs[i]).val() == null || $(objs[i]).val() == 'null' || $(objs[i]).val().trim() == "")&&$(objs[i]).attr('hd')!= 'T'){
			sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");
			$(objs[i]).focus();
			return 'JS_ERR0x0001';
		}
	}
	
	objs = $("#"+formid+" textarea[areq=true]");
	for(var i =0; i < objs.length; i++){
		if(($(objs[i]).val() == null || $(objs[i]).val() == 'null'||$(objs[i]).val().trim() == "")&&$(objs[i]).attr('hd')!= 'T'){
			sysMsgAlert($(objs[i]).parent().prev().html().split('*')[1].split(':')[0]+"不能为空");
			$(objs[i]).focus();
			return 'JS_ERR0x0001';
		}
	}
	return 'Success';
}
/*******************************************************************************
 * 序列化修改后的字段
 * 
 * @param formid
 * @return
 */
function serializeNaU(formid){
	var naparams = "";
	var naparams = $("#"+formid+" input[nowrite!=true]").map(function(){ 
		if($(this).attr('name') != 'null' && $(this).val() != null && $(this).val() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	naparams += ","+$("#"+formid+" select[nowrite!=true]").map(function(){ 
		if($(this).attr('name') != 'null' && $(this).val() != null && $(this).val() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	naparams += ","+$("#"+formid+" textarea[nowrite!=true]").map(function(){ 
		if($(this).attr('name') != 'null' && $(this).val() != null && $(this).val() != '') return $(this).attr('name')+"="+$(this).val();
		else return;
		}).get().join(",");
	return naparams;
}

/*******************************************************************************
 * 将所有可更新的字段打开
 */
function enaReadOnly(formId){
	var objs = "";
	objs = $("#"+formId+" input[nowrite='false']");
	for(var i =0; i < objs.length; i++){
		$(objs[i]).next().remove();
		$(objs[i]).show();
		$(objs[i]).removeAttr('readonly');
	}
	objs = $("#"+formId+" select[nowrite='false']");
	for(var i =0; i < objs.length; i++){
		$(objs[i]).next().remove();
		$(objs[i]).show();
		$(objs[i]).removeAttr('readonly');
	}
	objs = $("#"+formId+" textarea[nowrite='false']");
	for(var i =0; i < objs.length; i++){
		$(objs[i]).next().remove();
		$(objs[i]).show();
		$(objs[i]).removeAttr('readonly');
	}
	return 'Success';
}

/*******************************************************************************
 * 提示方法
 * 
 * @param msg
 * @return
 */
function sysMsgAlert(msg){
	$.messager.show({
		title:'必录信息提示',
		msg:msg,
		showType:'show',
		timeout: 750
	});
}

/*******************************************************************************
 * 获取浏览器内核
 ******************************************************************************/
function getOs() 
{ 
    var OsObject = ""; 
   if(navigator.userAgent.indexOf("MSIE")>0) { 
	   OsObject = "MSIE"; 
   } 
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
	   OsObject = "Firefox"; 
   } 
   if(isSafari=navigator.userAgent.indexOf("Safari")>0) { 
	   OsObject = "Safari"; 
   }  
   if(isCamino=navigator.userAgent.indexOf("Camino")>0){ 
	   OsObject = "Camino"; 
   } 
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){ 
	   OsObject = "Gecko"; 
   } 
   return OsObject;
} 



/*******************************************************************************
 * 单列对照表列表信息弹出方法 可编辑 结束
 ******************************************************************************/

// 生成Button 样式
function formatButtons(butObj){
	var butHTML = "";
	if(butObj.show == 'T'){
		butHTML += "<a  class='easyui-linkbutton' ";
		if(butObj.scriptFunc != null || butObj.scriptFunc != '' ){
			if(butObj.scriptFunc == 'S'){// 保存按钮
				butHTML += " onclick=\"submitForm(\'INFO_FORM\',this,\'"+basePath+"\',\'"+configId+"\')\"";
				butHTML += " su=true ";
			}else if(butObj.scriptFunc == 'U'){// 更新按钮
				butHTML += " onclick= \"updateForm(\'INFO_FORM\',this,\'"+basePath+"\',\'"+configId+"\')\"";
				butHTML += " su=false disabled=true";
			}else if(butObj.scriptFunc == 'P'){// 执行存储过程或者SQL
				butHTML += " onclick= \"butProcS(\'INFO_FORM\',this,\'"+basePath+"\',\'"+configId+"\')\"";
				butHTML += " infos=\'"+butObj.configCont+"\'";
			}else {// 个性化定制
				butHTML += " onclick=\'"+butObj.scriptFunc+"\'";
			}
		}
		if(butObj.butCode != null && butObj.butCode != '')butHTML += " id=\'"+butObj.butCode+"\'";
		if(butObj.butRight != null && butObj.butRight != '') butHTML += " right=\'"+butObj.butRight+"\'";
		butHTML += ">"+butObj.butnName+"</a>"
	}
	return butHTML;
}

// 请求地址去加载按钮对象
function loadButtons(butnId){
	$.ajax({
		type:'post',
		url:_a_url+'framework/buttonsListC',
		data:{'butnId':butnId},
		success:function(data){
			if(data == ""){
				// alert("按钮数据为空");
				$('#COSTPAGEBUT').html('');
			}else{
				var buttons = data;
				var butHTML = "";
				for(var i = 0; i < buttons.length; i++){
					butHTML += formatButtons(buttons[i]);
				}
				$('#COSTPAGEBUT').html(butHTML);
				$.parser.parse('#COSTPAGEBUT');  // 重新编译按钮
			}
		}
	});
}

// 生成Datagrid
function makeDatagrid(data,divName){ // 传入的是queryJson 里面就有columns和rows
	var lastIndex;
	$("#"+divName+"").datagrid({
		iconCls:'icon-save',
		nowrap: false,
		striped: true,				 
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		fitColumns:true,
		columns:[[]],
		pagination:true,
		rownumbers:true,
		singleSelect:true
	});
	jointColumn(data.columns);
	$("#"+divName+"").datagrid("loadData", data);
}

//组装datagrid中的列属性
function jointColumn(columns){
	var options = {  
			rownumbers: true  
		};
		
	var newColumns = new Array();
	for(var i = 0; i < columns.length; i++){
		var column = {};
		column.title = columns[i].colnName
		column.field = columns[i].javaProperyRecourded;
		column.width = column.width = (columns[i].width==null || columns[i].width==0 || columns[i].width=='')?100:columns[i].width ;;
		column.sortable = true;
		if(columns[i].hidden == 'T')column.hidden = true;
		if(columns[i].editor != '')column.editor = columns[i].editor;
		if(columns[i].styler != '')column.styler = eval('window.parent.'+columns[i].styler); 
		if(columns[i].formatCont != '')column.formatter = eval('window.parent.'+columns[i].formatCont); 
		newColumns[i] = column;
	}
	var cc = new Array();
	cc[0] = newColumns;
	options.columns = (cc);
	return options;
}


// 双击一行数据的时候，给打开的修改框循环赋值
function InitData(formId,data){
	var dzIds  = "";
	dzIds += $("#"+formId+" select").map(function(){
		return $(this).attr('editype');
	}).get().join(";");
	
	$.ajax({
		type:'post',
		url:_a_url+'dz/queryDzList',
		data:{'dzIds':dzIds},
		success:function(da){
				var i = 0;
				$("#"+formId+" select").each(function(){
					$(this).html(formatOptions(da[i++]));
					for(var k in data){
						if($(this).attr('name') ==k){
							$(this).val(''+data[k]);
						}
					}
				});
		}
	});
	$("#"+formId+" input").each(function(){
		for(var i in data){
			if($(this).attr('name') == i){
				$(this).val(data[i]);
			}
		}
	});
	$("#"+formId+" select").each(function(){
		for(var i in data){
		// $("#select_id option[text='jQuery']").attr("selected", true);
			if($(this).attr('name') == i){
				$(this).val(''+data[i]);
			}
		}
	})
} 



// //***********新风格界面封装方法

/*******************************************************************************
 * JS封装拼接主键 添加页面直接返回：主键名 详情页面返回：主键名-主键值
 ******************************************************************************/
function parsePKStr(formid){
	var naparams="";
	naparams = $("#"+formid+" input[vpk='T']").map(function(){ 
		if($(this).attr('quCln') != 'null' && $(this).val() != null && $(this).val() != '') {   
			return $(this).attr('quCln')+"-"+$(this).val();
		}else if($(this).attr('quCln') != 'null' ){   
			return $(this).attr('quCln');
		}
		}).get().join(";");
	return naparams;
}



// *****JS封装拼接条件方法 V2.0.0
function parseConfig(formid){
	// 需要处理特殊字符串...
// , %2C
// ; %3B
	// % %25
	// = %3D
	// + %2B
	// - -
	/***************************************************************************
	 * 说明： 需要转换的字符 ： eq 等于 neq 不等于 alike 以...开头 likea 以...结尾 inc包含
	 * 
	 * 字符串 1- ：flag - ClnName - value1 -neq |+ 间隔 2-： flag - clnName - Num -
	 * num2 |+ 列表 3-： flag - clnName - value1;value2 |+ //单选 编码集合 查询 时间间隔 4-:
	 * flag - clnName- date1 - date2 |+ 下拉框 3-： flag - clnName - value |+ //同列表
	 * 支持普通单选弹窗 模糊查询对照表 5- ： flag - ClnName - editype - value1 -neq |+ //单选 或者
	 * 下拉 的模糊查询 一对多查询：6-：flag - clnName - dsid - value1;value2 |+ //一对多 编码集合 查询
	 * 一对多查询：7-：flag - clnName - dsid - Cname1;Cname2 -neq|+ //一对多的模糊查询 根据名字查询
	 * 
	 * 单选查询： *-：flag - clnName - dsid - Cname1;Cname2 -neq |+ //根据名字查询 暂无
	 * 获取数据的时候 需要优化 特殊字符
	 */
	
	var naparams = "";
	$("#"+formid+" input").each(function(){
		if(typeof($(this).attr('quCln')) != 'undefined' &&$(this).attr('quCln') != 'null' && $(this).attr("qucln")!=""){
			if(typeof($(this).attr('eletype')) != 'undefined' && $(this).attr('eletype') == 'datalist'){
				// 弹框单选
				if($(this).attr("sm")=="true"){  
					if($(this).val() != null && $(this).val() != ''){
						naparams += "3-"+$(this).attr('qucln')+"-"+$(this).val()+"|+";
				
					}
				}else{    // 弹框多选
					var mulCode=$(this).parent().children("input[ismulcode=T]").val();
					if(mulCode!=null&&mulCode!=""){
						var lastIndex=mulCode.lastIndexOf(";");
						if(lastIndex==mulCode.length-1){
							mulCode=mulCode.substring(0,lastIndex);
						}
						// 弹框多选 传入id
// 6-：flag - clnName - dsid - value1;value2 |+
						naparams += "6-"+$(this).attr('qucln')+"-"+$(this).attr('dsid')+"-"+mulCode+"|+";
						
					}
				}
			}else if(typeof($(this).attr('eletype')) != 'undefined' && $(this).attr('eletype') == 'date'&&($(this).val()!=""||$(this).next().next("input[da='true']").val()!='')){
				if($(this).attr('eletype') == 'date' ){
					var befDate=$(this).val();
					var str = $(this).next().next("input[da='true']").val();
					if(befDate==''||befDate==null){
						naparams += "4-"+$(this).attr('qucln')+"--"+parseDate(str)+"|+";
					}else if(str == '' || str == null ){
						naparams += "4-"+$(this).attr('qucln')+"-"+parseDate($(this).val())+"-|+";
					}else{
						naparams += "4-"+$(this).attr('qucln')+"-"+parseDate($(this).val())+"-"+parseDate(str)+"|+";
					} 
				}
			}else{
				if($(this).val() != null && $(this).val() != ''){
					// 如果是datalist 则 modeltype = 1 则 flag=3
					// 如果是datalist modelType = 6
					// 如果是number （ 或者 integer datatime 一类的） flag=2
					// 否则都是 flag=1
					if(typeof($(this).attr('eletype')) != 'undefined' &&( $(this).attr('eletype') == 'number'
						|| $(this).attr('eletype') == 'integer' )){
// alert($(this).val()+"kkkkkk"+$(this).next().next("input[num='true']").val());
						naparams += "2-"+$(this).attr('qucln')+"-"+$(this).val()+"-"+$(this).next().next("input[num='true']").val()+"|+";
					}else if(typeof($(this).attr('eletype')) != 'undefined' &&( $(this).attr('eletype') == 'date'|| $(this).attr('eletype') == 'datetime' || $(this).attr('eletype') == 'time')){
						if($(this).attr('eletype') == 'datetime' ){
							naparams += "4-"+$(this).attr('qucln')+"-"+parseDatetime($(this).val())+"-"+parseDatetime($(this).next().next("input[da='true']").val())+"|+";
						}else if($(this).attr('eletype') == 'time' ){
							naparams += "4-"+$(this).attr('qucln')+"-"+parseTime($(this).val())+"-"+parseTime($(this).next().next("input[da='true']").val())+"|+";
						}
					}else{
						if(typeof($(this).attr('inptypeadd')) != 'undefined' && $(this).attr('inptypeadd')=='datalist'){ // 录单时弹窗，查询时text模糊查询
							if($(this).attr("sm")=="true"){  // 弹框单选
								if($(this).val() != null && $(this).val() != ''){
									naparams += "5-"+$(this).attr('qucln')+"-"+$(this).attr('addET')+"-"+$(this).val()+"-"+$(this).next("span[mh='true']").attr('co')+"|+";
								}
							}else{    // 弹框多选 输入汉字
// 7-：flag - clnName - dsid - value1;value2 - neq |+
								naparams += "7-"+$(this).attr('qucln')+"-"+$(this).attr('addET')+"-"+$(this).val()+"-"+$(this).next("span[mh='true']").attr('co')+"|+";
							}
						}else{
							if($(this).next("span[mh='true']").length > 0){
								naparams += "1-"+$(this).attr('qucln')+"-"+$(this).val()+"-"+$(this).next("span[mh='true']").attr('co')+"|+";
							}
						}
					}
				}
			}
		}
	});
	$("#"+formid+" select").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined' 
			&& $(this).val() != null && $(this).attr('qucln') != 'null' 
				&& $(this).val() != ''){
			naparams += '3-'+$(this).attr('qucln')+"-"+$(this).val()+"|+";
		}
	});
	$("#"+formid+" textarea").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined' 
			&& $(this).val() != null && $(this).attr('qucln') != 'null' 
				&& $(this).val() != ''){
			naparams += "1-"+$(this).attr('qucln')+"-"+$(this).val()+"-"+$(this).next("span[mh='true']").attr('co')+"|+";
		}
	});
	return naparams;
}

// 处理特殊字符
function cleanSpecialString(value){
	if(value.index('%')){
		alert("含有特殊字符");
		return "";
	}
	return value;
}


// parseConfigStr2 是用于提示精灵
function parseConfigStr2(formid){
	// 需要处理特殊字符串...
// , %2C
// ; %3B
	// % %25
	// = %3D
	// + %2B
	// - -
	/***************************************************************************
	 * 说明： 需要转换的字符 ： eq 等于 neq 不等于 alike 以...开头 likea 以...结尾 inc包含
	 * 
	 * 字符串 1- ：flag - ClnName - value1 -neq |+ 间隔 2-： flag - clnName - Num -
	 * num2 |+ 列表 3-： flag - clnName - value1;value2 |+ 时间间隔 4-: flag - clnName-
	 * date1 - date2 |+ 下拉框 3-： flag - clnName - value |+ //同列表
	 * 
	 * 获取数据的时候 需要优化 特殊字符
	 */
	var naparams = "";
	$("#"+formid+" input").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined' 
			&& (($(this).val() != null && $(this).val() != '') || (($(this).val() != null && $(this).val() != '') && ($(this).attr('eletype') != 'undefined') 
					&& ($(this).attr('eletype') == 'datalist') && ( $(this).attr('sm')=='false') )) // 多选的的时候会有空值
			&& $(this).attr('qucln') != 'null' ){
			// 如果是datalist 则 flag=3
			// 如果是number （ 或者 integer datatime 一类的） flag=2
			// 否则都是 flag=1
			if(typeof($(this).attr('eletype')) != 'undefined' && $(this).attr('eletype') == 'datalist' && $(this).attr('sm')=='true'){// 单选
				naparams += $(this).parent().prev().html()+$(this).parent().find('input[dgs=true]').val()+"/";
			}else if(typeof($(this).attr('eletype')) != 'undefined' && $(this).attr('eletype') == 'datalist' && $(this).attr('sm')=='false'){// 多选
				naparams += $(this).parent().prev().html()+$(this).parent().find('input[dgs=true]').val()+"/";
			}else if(typeof($(this).attr('eletype')) != 'undefined' &&( $(this).attr('eletype') == 'number'
				|| $(this).attr('eletype') == 'integer' )){
				naparams += $(this).parent().prev().html()+"("+$(this).val()+"~"+$(this).next().next().val()+")/";
			}else if(typeof($(this).attr('eletype')) != 'undefined' &&( $(this).attr('eletype') == 'date'
				|| $(this).attr('eletype') == 'datetime' || $(this).attr('eletype') == 'time')){
				if($(this).attr('eletype') == 'datetime' ){
					naparams += $(this).parent().prev().html()+"("+$(this).val()+"~"+$(this).next().next().val()+")/";// v1.0
																														// parseDatetime($(this).val())
				}else if($(this).attr('eletype') == 'date' ){
					naparams += $(this).parent().prev().html()+"("+$(this).val()+"~"+$(this).next().next().val()+")/";
				}else if($(this).attr('eletype') == 'time' ){
					naparams += $(this).parent().prev().html()+"("+$(this).val()+"~"+$(this).next().next().val()+")/";
				}
			}else{
			    var co =$(this).next("span[mh='true']").attr('co');
			    var name =$(this).parent().prev().html() ;
			    if(co=='eq'){
			    	naparams +=name.substr(0,name.length-1)+"等于'"+$(this).val()+"'/";
			    }else if(co=='neq'){
			    	naparams +=name.substr(0,name.length-1)+"不等于'"+$(this).val()+"'/";
			    }else if(co=='alike'){
			    	naparams +=name.substr(0,name.length-1)+"以'"+$(this).val()+"'开头/";
			    }else if(co=='likea'){
			    	naparams +=name.substr(0,name.length-1)+"以'"+$(this).val()+"'结尾/";
			    }else if(co=='inc'){
			    	naparams +=name.substr(0,name.length-1)+"包含'"+$(this).val()+"'/";
			    }
			}
		}
	});
	$("#"+formid+" select").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined' 
			&& $(this).val() != null && $(this).attr('qucln') != 'null' 
				&& $(this).val() != ''){
			naparams +=$(this).parent().prev().html()+$(this).find("option:selected").text()+"/";
		}
	});
	$("#"+formid+" textarea").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined' 
			&& $(this).val() != null && $(this).attr('qucln') != 'null' 
				&& $(this).val() != ''){
			naparams += $(this).parent().prev().html()+$(this).val()+"/";
		}
	});
	 naparams = naparams.substr(0,naparams.length-1);
	return naparams;
}



/******************************
 * 提示精灵的效果(在常用查询条件 和更多条件 的查询条件同步)(时间控件的同步)
 * flag:  1，2 代表通用界面
 * 		  3，4 代表多tab列表界面
 *******************************/
function chanUQTime(objN,flag){
	if(flag == 1){
		divName = "_QUERYCLN";
	}else if(flag == 2){
		divName = "_commUse";
	}else if(flag == '3'){  //多tab报表的常用界面
		divName = "commConfig";
	}else if(flag=='4'){    //多tab报表的更多条件
		divName = "_QUERYCLN";   
	}
	var qucln = $(objN).prev().prev().attr('qucln');
	var obj = $(objN).prev().prev();
	$($($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).parent().find("input")[1]).val($(objN).val());
} 


/*******************************************************************************
 * 常用查询条件 和多条件查询 中的条件框的值同步
 * 
 * @param obj
 * @param flag
 * @return
 */
// 当输入查询条件的时候，对应的多条件查询框也变化 flag 1代表是常用查询条件 2代表是多条件查询
function chanUQR(obj,flag){
	//	chan(obj);
	// 同步数据
	var qucln = $(obj).attr('qucln');
	var eletype = $(obj).attr('eletype');
	var sm = $(obj).attr('sm');
	// eletype: datalist select integer number datetime date time textarea
	var divName = '';
	if(flag == '1'){   // 通用界面  更多查询条件 将数据改成 同步
		divName = "_QUERYCLN";
	}else if(flag == '2'){   // 通用界面 常用查询条件 将数据改成 同步
		divName = "_commUse";  
	}else if(flag == '3'){  //多tab报表的常用界面
		divName = "commConfig";
	}else if(flag=='4'){    //多tab报表的更多条件
		divName = "_QUERYCLN";   
	}
	if(eletype == 'datalist' && sm == 'true'){ // 单选
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).val($(obj).val());
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).next().val($(obj).next().val());
	}else if(eletype == 'datalist' && sm == 'false'){// 多选
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).val($(obj).val());
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).next().val($(obj).next().val());
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).next().next().val($(obj).next().next().val());
	}else if(eletype == 'select'){
		$($('table[id*='+divName+']').find('select[qucln='+qucln+']')[0]).val($(obj).val()); 
	}else if(eletype == 'datetime' ||eletype == 'date' || eletype == 'time'){
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).val($(obj).val());
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).parent().find("input[da=true]").val($(obj).parent().find("input[da=true]").val()); 
	}else if(eletype == 'number' ||eletype == 'integer' || eletype == 'int'){
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).val($(obj).val());
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).next('input').val($(obj).next('input').val());
	}else if(eletype == 'textarea'){
		$($('table[id*='+divName+']').find('textarea[qucln='+qucln+']')[0]).val($(obj).val());
	}else {
		$($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).val($(obj).val());
	}
}









// *************添加标签Tab
function addYWTab(tabDiv,tabName,tabContent){
	    if(!$('#'+tabDiv).tabs('exists',tabName)){
			// 添加一个选项卡面板
		    $('#'+tabDiv).tabs('add',{  
		        title:tabName,  
		        content:tabContent,  
		        closable:true,
		        selected:true
		    });
		    $('#'+tabDiv).tabs('select',tabName);
		    return 0;
		}else{
			$('#'+tabDiv).tabs('select',tabName);
			return 1;
		}
}




/*******************************************************************************
 * 封装查找所有的下拉框对照表 ID
 ******************************************************************************/
function serializeEDIType(formid){
	var naparams = "";
	var naparams = $("#"+formid+" select").map(function(){ 
	if($(this).attr('editype') != null && $(this).attr('editype') != 'null' && $(this).attr('editype') != '') return $(this).attr('editype');
		else return;
	}).get().join(";");
	return naparams;
}

/*******************************************************************************
 * 动态填充下拉框
 ******************************************************************************/
function fillSelect(formId,data){
	var tc = 0;
	$("#"+formId+" select").each(function(){
		if(typeof($(this).attr('qucln')) != 'undefined'){
			$(this).html(formatOptions(data[tc++]));
		}
	});
}
/*******************************************************************************
 * 格式化下拉框中的options
 ******************************************************************************/
function formatOptions(options){
	var optionHTML = "<option value=''></option>";
	for(var i = 0; i < options.length; i++){
		optionHTML+= "<option value='"+options[i].ID+"'>"+options[i].NAME+"</option>"
	}
	return optionHTML;
}


/*******************************************************************************
 * 清空form表单中所有的值
 ******************************************************************************/
function clearFormVal(formId){
	$("#"+formId+" input[qucln]").each(function(){
		var eletype=$(this).attr("eletype");
		if(eletype=='mulimage'){   //图片上传的缓存
			$(this).parent().find("#prolists img").remove();
		}else if(eletype=='datalist'){   //弹框的缓存
			$(this).parent().children('#light').remove();  
			$(this).parent().children('#fade').remove();   
		}
		$(this).parent().find("input").val("");
	});
	$("#"+formId+" select[qucln]").each(function(){
		$(this).find("option:selected").attr("selected",false);
	});
	$("#"+formId+" textarea[qucln]").each(function(){
		$(this).val("");
	});
}
	
	
/*******************************************************************************
 * 通用的填充form表单中数据的方法
 ******************************************************************************/
function fillInfo(formId,rowData){
	$("#"+formId+" input").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).removeAttr('chan');
				var eletype=$(this).attr('eletype');
				if(eletype == 'date'){
					$(this).val(window.parent.formatDate(rowData[i]));
				}else if(eletype == 'time'){
					$(this).val(fwindow.parent.ormatTime(rowData[i]));
					
				}else if(eletype == 'datetime'){
					$(this).val(window.parent.formatDateTime(rowData[i]));
				
				}else if(eletype == 'file'){
					// 加载图片列表数据
					$(this).val(rowData[i]);
					if($(this).val() == ''){
						$(this).next().next().next().html('<font color="green">没有附件</font>');
					}else{
						var dsId = $(this).next().attr('dsId');
						var pkValue = $('form[id*=_A_AFORM]').find('input[qucln='+eval("window.parent."+dsId+'_pk')+']').val();
						parseFiles('',$(this).next().next().next(),pkValue,dsId,$(this).attr('qucln'),'');
					}
				}else if(eletype == 'filem'){
					// 加载文件列表数据
					$(this).val(rowData[i]);
					var dsId = $(this).next().next().attr('dsId');
					var clnName = $(this).next().next().attr('clnName');
					refImgFillInfo(this,dsId,clnName,rowData[i],'2');
				}else if(eletype == 'imagem'){    //单张图片上传  旧版本
					// 加载文件列表数据
					$(this).val(rowData[i]);
					var dsId = $(this).next().next().attr('dsId');
					var clnName = $(this).next().next().attr('clnName');
					refImgFillInfo(this,dsId,clnName,rowData[i],'1');
				}else if(eletype == 'mulimage'){    //多张图片上传 新版本
					//加载多张图片的列表
					$(this).val(rowData[i]);
					var dsId = $(this).next().next().attr('dsId');
					var clnName = $(this).next().next().attr('clnName');
					refMulImgFillInfo(this,'1');
				}else if(eletype == 'showimage'){    //多张图片上传，点击展示
					//加载多张图片的列表
					$(this).val(rowData[i]);
					var dsId = $(this).next().next().attr('dsId');
					var clnName = $(this).next().next().attr('clnName');
					refMulImgFillInfo(this,'2');
				}
				else if(eletype == 'weibo'){
					$(this).val(rowData[i]);
					var dsId = $(this).next().attr('dsId');
					var clnName = $(this).next().attr('clnName');
					$(this).next().load(_a_url+'/upload/weibo?dsId='+dsId+'&clnName='+clnName+'&pkValue='+rowData[i]);
				}
				else{
					$(this).val(rowData[i]);
				}
			}
		}
	});	
	$("#"+formId+" select").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).removeAttr('chan');
				$(this).val(rowData[i]);
			}
		}
	});
	$("#"+formId+" textarea").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).removeAttr('chan');
				$(this).val(rowData[i]);
			}
		}
	});
}




/*******************************************************************************
 * 填充的拉取对照信息数据，并设置chan属性为T
 ******************************************************************************/
function fillInfoByXt(formId,rowData){
	$("#"+formId+" input").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).attr('chan','T');
				if($(this).attr('eletype') == 'date'){
					$(this).val(window.parent.formatDate(rowData[i]));
				}else if($(this).attr('eletype') == 'time'){
					$(this).val(window.parent.ormatTime(rowData[i]));
				}else if($(this).attr('eletype') == 'datetime'){
					$(this).val(window.parent.formatDateTime(rowData[i]));
				}else{
					$(this).val(rowData[i]);
				}
			}
		}
	});
	$("#"+formId+" select").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).attr('chan','T');
				$(this).val(rowData[i]);
			}
		}
	});
	$("#"+formId+" textarea").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i){
				$(this).attr('chan','T');
				$(this).val(rowData[i]);
			}
		}
	});
}

/*******************************************************************************
 * 填充复制的数据
 ******************************************************************************/
function fillCopyInfo(formId,rowData){
	$("#"+formId+" input").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i&&$(this).attr("iscopy")=='T'){
				$(this).attr("chan","T");
				var eletype=$(this).attr('eletype');
				if(eletype == 'date'){
					$(this).val(window.parent.formatDate(rowData[i]));
				}else if(eletype == 'time'){
					$(this).val(fwindow.parent.ormatTime(rowData[i]));
				}else if(eletype== 'datetime'){
					$(this).val(window.parent.formatDateTime(rowData[i]));
				}else{
					// 如果是一对多并且是拉取信息那么直接复制即可
					if(eletype=='datalist'&&$(this).attr("sm")=="false"&&typeof($(this).attr("lqdz"))!='undefined'&&$(this).attr("lqdz")!=""){
						$(this).val(rowData[i]);
					}else if(eletype=='datalist'&&$(this).attr("sm")=="false"){    // 注意复制的时候不是拉取信息的一对多那么就要爱一对多的表中重新生成新的数据
						if(rowData[i]=='-'){    // 如果没有数据的直接赋值
							$(this).val(rowData[i]);
						}else{
							var obj=$(this);   // 在方法中的this和循环遍历form的this重复
							var dsId=$(this).attr("dsid");
							var colName=$(this).attr("qucln");
							var oldSourceId=rowData[i];
							if(oldSourceId!=null&&rowData[i]!='undefiend'&&oldSourceId!=""){   // 有数据的时候数据
								oldSourceCodes=oldSourceId.split("-")[0];
								oldSourceId=oldSourceId.split("-")[1];
								if(oldSourceId!=""){
									$.ajax({
										url:_a_url+'framework/createNewSourceId',
										data:{"dsId":dsId,"colName":colName,"oldSourceId":oldSourceId},
										type:"post",
										async:false,
										success:function(data){
											if(data==null||data==""){
												$.messager.alert("提示框",$(obj).attr("qucln")+"一对多的表结构没有明确设置ID为主键");
											}else{
												var val=oldSourceCodes+"-"+data;
												$(obj).val(val)
											}
											
										}
									});
								}else{
									$(obj).val("-")
								}
							}
						
						}
						if($(this).parent().children('#light').length>0){
							$(this).parent().children('#light').remove();  
							$(this).parent().children('#fade').remove();   
						}
					}else{
						$(this).val(rowData[i]);
					}
				}
			}
		}
	});
	$("#"+formId+" select").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i&&$(this).attr("iscopy")=='T'){
				$(this).attr("chan","T");
				$(this).val(rowData[i]);
			}
		}
	});
	$("#"+formId+" textarea").each(function(){
		for(var i in rowData){
			if($(this).attr('qucln') == i&&$(this).attr("iscopy")=='T'){
				$(this).attr("chan","T");
				$(this).val(rowData[i]);
			}
		}
	});
}

	function fillInfoByName(formId,rowData){
		$("#"+formId+" input").each(function(){
			for(var i in rowData){
				if($(this).attr('name') == i){
					if($(this).attr('dateformat') == 'date'){
						$(this).val(formatDate(rowData[i]));
					}else if($(this).attr('dateformat') == 'time'){
						$(this).val(formatTime(rowData[i]));
					}else if($(this).attr('dateformat') == 'datetime'){
						$(this).val(formatDateTime(rowData[i]));
					}else{
						$(this).val(rowData[i]);
					}
				}
			}
		});
		$("#"+formId+" select").each(function(){
			for(var i in rowData){
				if($(this).attr('name') == i){
					$(this).val(rowData[i]);
				}
			}
		});
		$("#"+formId+" textarea").each(function(){
			for(var i in rowData){
				if($(this).attr('name') == i){
					$(this).val(rowData[i]);
				}
			}
		});
	}
	
/*******************************************************************************
 * 通用处理界面的效果样式 1： 添加 2：修改
 ******************************************************************************/
function cEfect(formId, type) {
    if (type == 1) { // 添加界面
        $("#" + formId + " input[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor"); // 移除所有td的背景色
            if (typeof($(this).attr('vpk')) != 'undefined' && $(this).attr('vpk') == 'T') {
                // 添加页面主键设置为空
                $(this).val('');
            } else {
                if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') { // 如果该列不是隐藏的
                	$(this).css('height',"20px");
                	if ((typeof($(this).attr('rauto')) != 'undefined' && $(this).attr('rauto') == 'true')) { // 自动填充
                    	// 判断是不是只读的
                    	if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){   // 自定填充且是只读的会生成灰色的框自动填充非只读的不会生成灰色框
                    		if ($(this).parent().children('input[so=true]').length == 0) {
                                $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";heigth:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                    		}
                    		if($(this).parent().children('input[dgs=true]').length > 0){   // 弹框自动填充并且是只读的时候dgs=true隐藏，且so=true的文本框显示
                    			$(this).parent().children('input[dgs=true]').css({'display':'none','height':$(this).css('height')}); 
                    		}
                    	}
                        if ($(this).attr('eletype') == 'datalist'){    // 是弹框
                        	var showVal = "";
                            // 判断是单选还是多选
                            if ($(this).attr('sm') == 'false') { //如果是多选那么把转译的存储编码的集合的input框设置为空值
                            	 var sinCodeVal = $(this).val();
                            	 var index=sinCodeVal.indexOf("-");   
                                 if(index==-1){    // 判断该字段是不是已经转译过了
                                 	// 该字段已经转移过了不需要转译
                                 	showVal=$(this).parent().children('input[dgs=true]').val();
                                 }else{
                                	 var sinVal = "";
                                     var codeVal = "";
                                     if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                         sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                         codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                         if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                             showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                         }
                                     }
                                     $(this).val(sinVal);
                                     $(this).parent().children('input[ismulcode=T]').val(codeVal);
                                 }
                            }else{   // 单选
                            	if ($(this).val() != null && $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                                    showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            	}
                            }
                            $(this).parent().children('input[dgs=true]').val(showVal);
                        	if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){   // 自定填充且是只读
                        		$(this).parent().children('input[so=true]').val(showVal);
                        	}
                        }else if ($(this).attr('eletype') == 'image'){    // 是图片
                        	if($(this).val() == ''){
                        		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                        	}else{
                        		$(this).next().attr('src',_m_url+$(this).val());
                        	}
                        	$(this).next().next().css('display','block');
                        }else if ($(this).attr('eletype') == 'file'){    // 是文件
                       		$(this).next().css('display','block');
                       		$(this).next().css('display','block');
                       		$(this).next().next().next().find('td[tid*=tid]').css('display','');
                        }else if($(this).attr('eletype') == 'number2'){
                        	if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){
	                       		 $(this).css('display', 'none');
	                       		 var val =$(this).val();
	                       		 if(val != null && val != ''){
	                       			 val = (parseFloat($(this).val())).toFixed(2);
	                       		 }
	                       		 $(this).parent().children('input[so=true]').val(val);
                        	}
                        }else if($(this).attr('eletype') == 'number4'){
                        	if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){
	                       		 $(this).css('display', 'none');
	                       		 var val =$(this).val();
	                       		 if(val != null && val != ''){
	                       			 val = (parseFloat($(this).val())).toFixed(4);
	                       		 }
	                       		 $(this).parent().children('input[so=true]').val(val);
                        	}
                       }else if($(this).attr('eletype') == 'percent'){ // 百分号
                       		if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){
	                      		 $(this).css('display', 'none');
	                      		 var val =$(this).val();
	                      		 if(val != null && val != ''){
	                      			 val = ((parseFloat(value))*1000000/10000)+'%';
	                      			 
	                      		 }
	                      		 $(this).parent().children('input[so=true]').val(val);
	                       	 }
                       }else if($(this).attr('eletype') == 'numberF'){ // 负小数
		            	     if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){
		                  		 $(this).css('display', 'none');
		                  		 $(this).parent().children('input[so=true]').val($(this).val());
		                   	 }
                       }else if ($(this).attr('eletype') == 'filem'){    // 是多文件清空
                    	   	// 隐藏上传链接
                       		$(this).next().css('display','none');
                       		// 隐藏删除链接
                       		$(this).next().next().find('.upLink .delClass').css('display','none');
                       		
                        }else if ($(this).attr('eletype') == 'imagem'){    // 多图片清空
                        	// 隐藏上传链接
                       		$(this).next().css('display','none');
                       		$(this).next().next().find('.upLink .delClass').css('display','none');
                        }else{     // 自定填充且是只读的会生成灰色的框自动填充非只读的不会生成灰色框
                        	if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){
                        		 $(this).css('display', 'none');
                        		 $(this).parent().children('input[so=true]').val($(this).val());
                        	}
                        }
                    }else{ // 手动输入
// $(this).val(''); //先清空所有的值
                        $(this).parent().children('input[so=true]').remove();
                        if ($(this).attr('eletype') == 'datalist') {
                        	$(this).removeAttr("chan","T");
                            $(this).parent().children('input[dgs=true]').css({'display':'block','height':$(this).css("height")});  // dgs="true"的input框隐藏
                            $(this).parent().children('input[dgs=true]').val("");
                            if ($(this).val() != null && $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                            	showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            }
                            $(this).parent().children('input[dgs=true]').val(showVal);
                            if ($(this).attr('sm') == 'false') { // 如果是多选那么把转译的存储编码的集合的input框设置为空值
                                $(this).parent().children('input[ismulcode=T]').val("");
                            }
                        }else if ($(this).attr('eletype') == 'image'){    // 是图片
                        	if($(this).val() == ''){
                        		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                        	}else{
                        		$(this).next().attr('src',_m_url+$(this).val());
                        	}
                        	$(this).next().next().css('display','block');
                        }else if ($(this).attr('eletype') == 'file'){    // 是文件
                       		$(this).next().css('display','block');
                       		$(this).next().css('display','block');
                       		$(this).next().next().next().find('td[tid*=tid]').css('display','');
                        }else if ($(this).attr('eletype') == 'number2'){
                            $(this).css('display', 'block');
                            var objVal = $(this).val();
                        	if(objVal != null && objVal != ''){
                        		objVal = (parseFloat($(this).val())).toFixed(2);
                        	}
                        	$(this).val(objVal);
                        }else if ($(this).attr('eletype') == 'number4'){
                            $(this).css('display', 'block');
                            var objVal = $(this).val();
                        	if(objVal != null && objVal != ''){
                        		objVal = (parseFloat($(this).val())).toFixed(4);
                        	}
                        	$(this).val(objVal);
                        }else if ($(this).attr('eletype') == 'percent'){ 
                            $(this).css('display', 'block');
                            var objVal = $(this).val();
                        	if(objVal != null && objVal != ''){
                        		objVal = ((parseFloat(objVal))*1000000/10000)+'%';
                        	}
                        	$(this).val(objVal);
                        }else if($(this).attr('eletype') == 'numberF'){ // 负小数
                         	$(this).val($(this).val());
                        	$(this).css('display','block');
                       }else if ($(this).attr('eletype') == 'filem'){    // 是多文件
                    	   	// 打开上传链接
                       		$(this).next().css('display','block');
                       		$(this).next().next().html('');// .find('.upLink
                        }else if ($(this).attr('eletype') == 'imagem'){    // 多图片
                        	// 打开上传链接
                       		$(this).next().css('display','block');
                       		$(this).next().next().html('');
                        }else {
                        	$(this).css('display','block');
                        }
                    }
                }
            }
        });
        $("#" + formId + " select[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor");
            if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') { // 如果该列不是隐藏的
                if (typeof($(this).attr('rauto') != 'undefined') && $(this).attr('rauto') == 'true') { // 自动填充的数据
                    var selVal = $(this).find("option:selected").text();
                    if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){   // 自定填充且是只读的会生成灰色的框自动填充非只读的不会生成灰色框
                    	$(this).css('display', 'none');
                    	if ($(this).parent().children('input[so=true]').length> 0) {
                    		$(this).parent().children('input[so=true]').remove();
                        }
                    	$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";background-color:#eeeeee;\" value='" + selVal + "' />");
                    }else{
                    	$(this).css('display', 'block');
                    	$(this).parent().children('input[so=true]').remove();
                    }
                } else { // 非自动填充
                    $(this).val(''); // 先清空所有的值
                    $(this).parent().children('input[so=true]').remove();
                    $(this).css('display', 'block');
                }
            }
        });
        
        $("#" + formId + " textarea[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor");
            if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
                if ((typeof($(this).attr('rauto')) != 'undefined') && ($(this).attr('rauto') == 'true')) {
                    var textAreaVal = $(this).val();
                    if((typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true')){   // 自定填充且是只读的会生成灰色的框自动填充非只读的不会生成灰色框
                    	$(this).css('display', 'none');
                        if ($(this).parent().children('textarea[so=true]').length >0) {
                        	  $(this).parent().children('textarea[so=true]').remove();
                        }
                        $(this).after("<textarea  class='ainit-input' readonly=\"true\" so=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" value='" + textAreaVal + "'></textarea>");
                        $(this).parent().children('textarea[so=true]').val(textAreaVal);
                    }else{
                    	$(this).css('display', 'block');
                    	$(this).parent().children('textarea[so=true]').remove();
                    }
                }else {
                    $(this).val('');
                    $(this).parent().children('textarea[so=true]').remove();
                    $(this).css('display', 'block');
                }
            }
        });
    } else if (type == 2) { // 详情修改界面(只读的dataList没有进行分割)
    	// 获取主键的值
    	var pkVal= parsePKStr(formId);
        $("#" + formId + " input[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor"); // 先移除input框中所有的颜色
            if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
            	$(this).css('height',"20px");
            	if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的(不需要判断rauto)
                    $(this).css('display', 'none'); // 只读属性先把自身隐藏
                    if ($(this).attr('eletype') == 'datalist') {  // 类型是datalist
                        var showVal = "";
                        if ($(this).parent().children('input[so=true]').length == 0) { // 生成so=true，存转译的编码
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                        if($(this).parent().children('input[dgs=true]').length > 0){   
                			$(this).parent().children('input[dgs=true]').css({'display':'none','height':$(this).css('height')}); 
                		}
                        if ($(this).attr('sm') == 'false'){ // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                            var sinCodeVal = $(this).val();
                            var index=sinCodeVal.indexOf("-");   
                            if(index==-1){    // 判断该字段是不是已经转译过了
                            	// 该字段已经转移过了不需要转译
                            	showVal=$(this).parent().children('input[dgs=true]').val();
                            }else{
                            	 var sinVal = "";
                                 var codeVal = "";
                                 if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                     sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                     codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                     if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                         showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                     }
                                 }
                                 $(this).val(sinVal);
                                 $(this).parent().children('input[ismulcode=T]').val(codeVal);
                            }
                        }else{ // 单选
                            if ($(this).val() != null || $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                                showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            }
                        }
                        $(this).parent().children('input[so=true]').val(showVal);
                        $(this).parent().children('input[dgs=true]').val(showVal);
                    }else if ($(this).attr('eletype') == 'image'){    // 是图片
                    	if($(this).val() == ''){
                    		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                    	}else{
                    		$(this).next().attr('src',_m_url+$(this).val());
                    	}
                    	$(this).next().next().css('display','none');
                    }else if ($(this).attr('eletype') == 'file'){    // 是文件
                   		$(this).next().css('display','none');
                   		$(this).next().css('display','none');
                   		$(this).next().next().next().find('td[tid*=tid]').css('display','none');
                    }else if($(this).attr('eletype') == 'number2'){ // 两位小数点的
                    	if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = (parseFloat($(this).val())).toFixed(2);
                    	}
                        $(this).parent().children('input[so=true]').val(objVal);
                    }else if($(this).attr('eletype') == 'number4'){  // 四位小数点的
                    	if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = (parseFloat($(this).val())).toFixed(4);
                    	}
                        $(this).parent().children('input[so=true]').val(objVal);
                    }else if($(this).attr('eletype') == 'percent'){  // 百分号
                    	if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = ((parseFloat(objVal))*1000000/10000)+'%';
                    	}
                        $(this).parent().children('input[so=true]').val(objVal);
                    }else if($(this).attr('eletype') == 'numberF'){ // 负小数
                    	if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                        $(this).parent().children('input[so=true]').val($(this).val());
                    }else if ($(this).attr('eletype') == 'filem'){    // 是多文件
                	   	// 隐藏上传链接
                   		$(this).next().css('display','none');
                   		$(this).next().next().find('.upLink .delClass').css('display','none');
                   		
                    }else if ($(this).attr('eletype') == 'imagem'){    // 多图片
                    	// 隐藏上传链接
                   		$(this).next().css('display','none');
                   		$(this).next().next().find('.upLink .delClass').css('display','none');
                   		
                    }else {   
                        if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                        $(this).parent().children('input[so=true]').val($(this).val());
                    }
                } else { // 非只读的情况
                    $(this).parent().children('input[so=true]').remove();
                    if ($(this).attr('eletype') == 'datalist'){
                        var showVal = "";
                        $(this).parent().children('input[dgs=true]').css({'display':'block','height':$(this).css("height")}); 
                        if ($(this).attr('sm') == 'false') { // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                            var sinCodeVal = $(this).val();    
                            var index=sinCodeVal.lastIndexOf("-");   
                            if(index==-1){    // 判断该字段是不是已经转译过了
                            	// 该字段已经转移过了不需要转译
                            	showVal=$(this).parent().children('input[dgs=true]').val();
                            }else{
                            	var scodes=sinCodeVal.split("-");
                            	// 该字段未转译
                            	var sinVal = "";
                                var codeVal = "";
                                if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                	codeVal = sinCodeVal.substring (0,index); // 存编码的集合
                                    sinVal = sinCodeVal.substring (index+1,sinCodeVal.length); // 存关联键的值
                                    if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                        showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                    }
                                }
                                $(this).val(sinVal);
                                $(this).parent().children('input[ismulcode=T]').val(codeVal);
                            }
                        }else {      // 单选
                            if ($(this).val() != null || $(this).val() != ""&& $(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                                showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            }
                        }
                        $(this).parent().children('input[dgs=true]').val(showVal);
                       
                    }else if ($(this).attr('eletype') == 'image'){    // 是图片
                    	if($(this).val() == ''){
                    		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                    	}else{
                    		$(this).next().attr('src',_m_url+$(this).val());
                    	}
                    	$(this).next().next().css('display','block');
                    }else if ($(this).attr('eletype') == 'file'){    // 是文件
                   		$(this).next().css('display','block');
                   		$(this).next().css('display','block');
                   		$(this).next().next().next().find('td[tid*=tid]').css('display','');
                    }else if($(this).attr('eletype') == 'number2'){ // 两位小数
                    	$(this).css('display', 'block');
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = (parseFloat($(this).val())).toFixed(2);
                    	}
                    	$(this).val(objVal);
                    }else if($(this).attr('eletype') == 'number4'){ // 四位小数
                    	$(this).css('display', 'block');
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = (parseFloat($(this).val())).toFixed(4);
                    	}
                    	$(this).val(objVal); 
                    }else if($(this).attr('eletype') == 'percent'){ // 百分号
                    	$(this).css('display', 'block');
                    	var objVal = $(this).val();
                    	if(objVal != null && objVal != ''){
                    		objVal = ((parseFloat($(this).val()))*1000000/10000)+'%';
                    	}
                    	$(this).val(objVal); 
                    }else if($(this).attr('eletype') == 'numberF'){ // 负小数
                    	$(this).css('display', 'block');
                    	var objVal = $(this).val();
                    	$(this).val(objVal);
                    }else if ($(this).attr('eletype') == 'filem'){    // 是多文件
                	   	// 打开上传链接
                   		$(this).next().css('display','block');
                   		$(this).next().next().find('.upLink .delClass').css('display','');
                   		
                    }else if ($(this).attr('eletype') == 'imagem'){    // 多图片
                    	// 打开上传链接
                   		$(this).next().css('display','block');
                   		$(this).next().next().find('.upLink .delClass').css('display','');
                   		
                    }else {
                        $(this).css('display', 'block');
                    }
                }
            }
        });
        $("#" + formId + " select[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor");
            if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
                if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                    $(this).css('display','none'); // 自身隐藏
                    var selVal = $(this).find("option:selected").text();
                    if ($(this).parent().children('input[so=true]').length >0) {
                    	$(this).parent().children('input[so=true]').remove();
                    }
                    $(this).after("<input class=\"ainit-input\" value='"+selVal+"' so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";background-color:#eeeeee;\"/>");
                } else {
                    $(this).css('display', 'block'); // 自身显示
                    $(this).parent().children('input[so=true]').remove();
                }
            }
        });
        
        
        $("#" + formId + " textarea[qucln]").each(function() {
            $(this).parent("td").removeAttr("bgcolor");
            if (typeof($(this).attr('qucln')) != 'undefined' && $(this).attr('hd') != 'T') {
                if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                    $(this).css('display', 'none');
                    if ($(this).parent().children('textarea[so=true]').length > 0) {
                    	 $(this).parent().children('textarea[so=true]').remove();
                    }
                    $(this).after("<textarea  class='ainit-input' readonly=\"true\" so=\"true\" style='width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;' >" + $(this).val() + "</textarea>");
                } else {
                    $(this).css('display', 'block');
                    $(this).parent().children('textarea[so=true]').remove();
                }
            }
        });
    }
}
	
	
	
	
	
// 弹框拉取对照信息
function cEfectLqDz(formId,type,lqdz){
    $("#" + formId + " input").each(function() {
        $(this).parent("td").removeAttr("bgcolor"); // 先移除input框中所有的颜色
        if(typeof($(this).attr("lqdz"))!='undefined'&&$(this).attr("lqdz")!=""&&$(this).attr("lqdz")!=null&&$(this).attr("lqdz").toUpperCase()==lqdz){
            if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
                if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的(不需要判断rauto)
                    $(this).css('display', 'none'); // 只读属性先把自身隐藏
                    if ($(this).attr('eletype') == 'datalist') {  // 类型是datalist
                        var showVal = "";
                        if ($(this).parent().children('input[so=true]').length == 0) { // 生成so=true，存转译的编码
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                        if ($(this).attr('sm') == 'false'){ // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                            var sinCodeVal = $(this).val();
                            var index=sinCodeVal.indexOf("-");   
                            if(index==-1){    // 判断该字段是不是已经转译过了
                            	// 该字段已经转移过了不需要转译
                            	showVal=$(this).parent().children('input[dgs=true]').val();
                            }else{
                            	 var sinVal = "";
                                 var codeVal = "";
                                 if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                     sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                     codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                     if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                         showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                     }
                                 }
                                 $(this).val(sinVal);
                                 $(this).parent().children('input[ismulcode=T]').val(codeVal);
                            }
                           
                        }else { // 单选
                            if ($(this).val() != null || $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                                showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            }
                        }
                        $(this).parent().children('input[so=true]').val(showVal);
                        $(this).parent().children('input[dgs=true]').val(showVal);
                        $(this).parent().children('input[dgs=true]').css('display', 'none');
                    }else if ($(this).attr('eletype') == 'image'){    // 是图片
                    	if($(this).val() == ''){
                    		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                    	}else{
                    		$(this).next().attr('src',_m_url+$(this).val());
                    	}
                    	$(this).next().next().css('display','none');
                    }else {   // 类型不是datalist
                        if($(this).parent().children('input[so=true]').length == 0) {
                            $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                        }
                        $(this).parent().children('input[so=true]').val($(this).val());
                    }
                } else { // 非只读的情况
                    $(this).parent().children('input[so=true]').remove();
                    if ($(this).attr('eletype') == 'datalist') {
                        var showVal = "";
                        $(this).parent().children('input[dgs=true]').css('display', 'block');
                        if ($(this).attr('sm') == 'false') { // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                            var sinCodeVal = $(this).val();
                            var index=sinCodeVal.indexOf("-");   
                            if(index==-1){    // 判断该字段是不是已经转译过了
                            	// 该字段已经转移过了不需要转译
                            	showVal=$(this).parent().children('input[dgs=true]').val();
                            }else{
                            	// 该字段未转译
                            	var sinVal = "";
                                var codeVal = "";
                                if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                    sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                    codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                    if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                        showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                    }
                                }
                                $(this).val(sinVal);
                                $(this).parent().children('input[ismulcode=T]').val(codeVal);
                            }
                        } else {
                            if ($(this).val() != null || $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                            	showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                            }
                        }
                        $(this).parent().children('input[dgs=true]').val(showVal);
                    }else if ($(this).attr('eletype') == 'image'){    // 是图片
                    	if($(this).val() == ''){
                    		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
                    	}else{
                    		$(this).next().attr('src',_m_url+$(this).val());
                    	}
                    	$(this).next().next().css('display','block');
                    }else {
                        $(this).css('display', 'block');
                    }
                }
            }
        }
    });

    $("#" + formId + " select").each(function() {
        $(this).parent("td").removeAttr("bgcolor");
        if(typeof($(this).attr("lqdz"))!='undefined'&&$(this).attr("lqdz")!=""&&$(this).attr("lqdz")!=null&&$(this).attr("lqdz").toUpperCase()==lqdz){
        	 if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
                 if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                     $(this).css('display', 'none'); // 自身隐藏
                     var selVal = $(this).find("option:selected").text();
                     if ($(this).parent().children('input[so=true]').length == 0) {
                         $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\"/>");
                     }
                     $(this).parent().children('input[so=true]').val(selVal);
                 } else {
                     $(this).css('display', 'block'); // 自身显示
                     $(this).parent().children('input[so=true]').remove();
                 }
             }
        }
       
    });
    $("#" + formId + " textarea").each(function() {
        $(this).parent("td").removeAttr("bgcolor");
        if(typeof($(this).attr("lqdz"))!='undefined'&&$(this).attr("lqdz")!=""&&$(this).attr("lqdz")!=null&&$(this).attr("lqdz").toUpperCase()==lqdz){
        	 if (typeof($(this).attr('qucln')) != 'undefined' && $(this).attr('hd') != 'T') {
                 if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                     $(this).css('display', 'none');
                     if ($(this).parent().children('textarea[so=true]').length == 0) {
                         $(this).after("<textarea  class='ainit-input' readonly=\"true\" so=\"true\" style='width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;' >" + $(this).val() + "</textarea>");
                     } else {
                         $(this).parent().children('textarea[so=true]').val($(this).val());
                     }

                 } else {
                     $(this).css('display', 'block');
                     $(this).parent().children('textarea[so=true]').remove();
                 }
             }
        }
    });
}





/**********************************
 * 锁定特定的列
 * @return 
 **********************************/
function lockSpecificColns(formId,sColns){
	var colns=sColns.split(';');
	for(var i=0;i<colns.length;i++){
		if(colns[i]!=null&&colns[i].trim()!=""){
		    var colnObj=$("#"+formId).find("*[qucln="+colns[i].trim()+"]")[0];
			var eletype = $(colnObj).attr("eletype");
		    if(eletype=='datalist'){
		    	if ($(colnObj).parent().children('input[so=true]').length==0) {
		    		$(colnObj).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(colnObj).css('width') + ";height:" + $(colnObj).css('height') + ";background-color:#eeeeee;\" />");
		    		$(colnObj).parent().find("input[so=true]").val($(colnObj).parent().find("input[dgs=true]").val());
		    		$(colnObj).parent().find("input[so=true]").css('display','block');
		    		$(colnObj).parent().find('input[dgs=true]').css('display', 'none'); 
		    	}
		    }
		    else if(eletype=='select'){
		    	if($(colnObj).parent().children('input[so=true]').length==0){
		    		var selVal = $(colnObj).find("option:selected").text();
		    		$(colnObj).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(colnObj).css('width') + ";background-color:#eeeeee;\"  value='" + selVal+ "' />");
		    		$(colnObj).css('display','none'); 
		    		$(colnObj).parent().find("input[so=true]").css('display','block');
		    	}
		    }
		    else if(eletype=='textarea'){
		    	if($(colnObj).parent().children('textarea[so=true]').length==0){
		    		$(colnObj).after("<textarea  class='ainit-input' readonly=\"true\" so=\"true\" style=\"width:" + $(colnObj).css('width') + ";height:" + $(colnObj).css('height') + ";background-color:#eeeeee;\" >"+$(colnObj).val()+"</textarea>");
		    		$(colnObj).css('display','none');
		    		$(colnObj).parent().find("input[so=true]").css('display','block');
		    	}
		   }else{
				if($(colnObj).attr('eletype') == 'mulimage'){      // 多图片上传新版本
					$(colnObj).parent().children('input[so=true]').remove();
	            	$(colnObj).parent("td").removeAttr("bgcolor");
	            }else{
	            	if($(colnObj).parent().children('input[so=true]').length==0){
			    		$(colnObj).after("<input class=\"ainit-input\" so=\"true\"  readonly=\"true\" style=\"width:" + $(colnObj).css('width') + ";height:" + $(colnObj).css('height') + ";background-color:#eeeeee;\"  value='" + $(colnObj).val() + "'/>");
			    		$(colnObj).css('display', 'none');	
			    		$(colnObj).parent().find("input[so=true]").css('display','block');
			    	}
	            }
		    }
		}
	}
}



/**********************************
 *对特定的列解锁
 * @return
 **********************************/
function unLockSpecificColns(formId,sColns){
	var colns=sColns.split(';');
	for(var i=0;i<colns.length;i++){
		if(colns[i]!=null&&colns[i].trim()!=""){
			var colnObj=$("#"+formId).find("*[qucln="+colns[i].trim()+"]")[0];
			var eletype = $(colnObj).attr("eletype");
			$(colnObj).parent("td").removeAttr("bgcolor");
			if(eletype == "datalist"){
				$(colnObj).parent().children('input[so=true]').remove();
				$(colnObj).parent().children('input[dgs=true]').css('display','block');
			}
			else if(eletype == "select"){
				$(colnObj).parent().children('input[so=true]').remove(); 
        		$(colnObj).css('display','block');		
			}
			else if(eletype == "textarea"){
				 $(colnObj).parent().children('textarea[so=true]').remove();
				 $(colnObj).css('display', 'block');
			}
			else{
				 $(colnObj).parent().children('input[so=true]').remove();
				 $(colnObj).css('display', 'block');
			}
		}
	}
}



/*******************************************************************************
 * 解除table单子的锁定
 * @param form
 * @return
 *******************************************************************************/
function unbindReadOnlyTab(formId){
	 $(formId).find('tr input').each(function() {
         $(this).parent("td").removeAttr("bgcolor"); // 先移除input框中所有的颜色
         if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
             if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的(不需要判断rauto)
                 $(this).css('display', 'none'); // 只读属性先把自身隐藏
                 if ($(this).attr('eletype') == 'datalist') {  // 类型是datalist
                     var showVal = "";
                     if ($(this).parent().children('input[so=true]').length == 0) { // 生成so=true，存转译的编码
                         $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                     }
                     if ($(this).attr('sm') == 'false'){ // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                         var sinCodeVal = $(this).val();
                         var index=sinCodeVal.indexOf("-");   
                         if(index==-1){    // 判断该字段是不是已经转译过了
                         	// 该字段已经转移过了不需要转译
                         	showVal=$(this).parent().children('input[dgs=true]').val();
                         }else{
                         	 var sinVal = "";
                              var codeVal = "";
                              if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                  sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                  codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                  if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                      showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                  }
                              }
                              $(this).val(sinVal);
                              $(this).parent().children('input[ismulcode=T]').val(codeVal);
                         }
                     }else { // 单选
                         if ($(this).val() != null || $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                             showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                         }
                     }
                     $(this).parent().children('input[so=true]').val(showVal);
                     $(this).parent().children('input[dgs=true]').val(showVal);
                     $(this).parent().children('input[dgs=true]').css('display', 'none');
                 }else {   // 类型不是datalist
                     if($(this).parent().children('input[so=true]').length == 0) {
                         $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\" />");
                     }
                     $(this).parent().children('input[so=true]').val($(this).val());
                 }
             } else { // 非只读的情况
                 $(this).parent().children('input[so=true]').remove();
                 if ($(this).attr('eletype') == 'datalist') {
                     var showVal = "";
                     $(this).parent().children('input[dgs=true]').css('display', 'block');
                     if ($(this).attr('sm') == 'false') { // 如果是多选那么把转译的存储编码的集合的input框存编码的集合
                         var sinCodeVal = $(this).val();
                         var index=sinCodeVal.indexOf("-");   
                         if(index==-1){    // 判断该字段是不是已经转译过了
                         	// 该字段已经转移过了不需要转译
                         	showVal=$(this).parent().children('input[dgs=true]').val();
                         }else{
                         	// 该字段未转译
                         	var sinVal = "";
                             var codeVal = "";
                             if (sinCodeVal != null && sinCodeVal != undefined && sinCodeVal != "") {
                                 sinVal = sinCodeVal.split("-")[1]; // 存关联键的值
                                 codeVal = sinCodeVal.split("-")[0]; // 存编码的集合
                                 if (codeVal != null || codeVal != "") { // 没有值的时候不需要调用转译方法
                                     showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, codeVal);
                                 }
                             }
                             $(this).val(sinVal);
                             $(this).parent().children('input[ismulcode=T]').val(codeVal);
                         }
                     } else {
                         if ($(this).val() != null || $(this).val() != ""&&$(this).attr('formatfunc')!=null) { // 没有值的时候不需要调用转译方法
                             showVal = eval('window.parent.' + $(this).attr('formatfunc')).call(this, $(this).val());
                         }
                     }
                     $(this).parent().children('input[dgs=true]').val(showVal);
                 } else {
                     $(this).css('display', 'block');
                 }
             }
         }
     });

	 $(formId).find('tr select').each(function() {
         $(this).parent("td").removeAttr("bgcolor");
         if ((typeof($(this).attr('qucln')) != 'undefined') && $(this).attr('hd') != 'T') {
             if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                 $(this).css('display', 'none'); // 自身隐藏
                 var selVal = $(this).find("option:selected").text();
                 if ($(this).parent().children('input[so=true]').length == 0) {
                     $(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;\"/>");
                 }
                 $(this).parent().children('input[so=true]').val(selVal);
             } else {
                 $(this).css('display', 'block'); // 自身显示
                 $(this).parent().children('input[so=true]').remove();
             }
         }
     });
	 $(formId).find('tr textarea').each(function() {
         $(this).parent("td").removeAttr("bgcolor");
         if (typeof($(this).attr('qucln')) != 'undefined' && $(this).attr('hd') != 'T') {
             if (typeof($(this).attr('nowrite')) != 'undefined' && $(this).attr('nowrite') == 'true') { // 只读的
                 $(this).css('display', 'none');
                 if ($(this).parent().children('textarea[so=true]').length == 0) {
                     $(this).after("<textarea  class='ainit-input' readonly=\"true\" so=\"true\" style='width:" + $(this).css('width') + ";height:" + $(this).css('height') + ";background-color:#eeeeee;' >" + $(this).val() + "</textarea>");
                 } else {
                     $(this).parent().children('textarea[so=true]').val($(this).val());
                 }
             } else {
                 $(this).css('display', 'block');
                 $(this).parent().children('textarea[so=true]').remove();
             }
         }
     });
}



/*******************************************************************************
 * 将form表单中的所有非隐藏状态的文本框变为不可修改状态（如审核和作废后的状态）
 ******************************************************************************/
function readOnlyForm(formId){
	var prefix=formId.split("_")[0];
	$("#"+formId+" input").each(function(){
		if((typeof($(this).attr('qucln')) != 'undefined')&&$(this).attr('hd')!= 'T'){   // 非隐藏的列
			$(this).parent("td").attr("bgcolor","#eeeeee");
			if($(this).attr('eletype')=='datalist'){   // 如果是弹窗
				$(this).parent().children('input[dgs=true]').css('display','none');
				if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				var showVal=$(this).parent().children('input[dgs=true]').val();
				$(this).parent().children('input[dgs=true]').css("display","none");
				$(this).parent().children('input[so=true]').css("display","block");
				$(this).parent().children('input[so=true]').val(showVal);
			}else if ($(this).attr('eletype') == 'image'){    // 是图片
            	if($(this).val() == ''){
            		$(this).next().attr('src',_m_url+"/model/images/no-image.png");
            	}else{
            		$(this).next().attr('src',_m_url+$(this).val());
            	}
            	$(this).next().next().css('display','none');
            }else if ($(this).attr('eletype') == 'file'){    // 是文件
           		$(this).next().css('display','none');
           		$(this).next().css('display','none');
           		$(this).next().next().next().find('td[tid*=tid]').css('display','none');
            }else if($(this).attr('eletype') == 'number2'){
            	if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				$(this).parent().children('input[so=true]').css("display","block");
				var val =$(this).val();
          		if(val != null && val != ''){
          			val = (parseFloat($(this).val())).toFixed(2);
          		}
          		$(this).parent().children('input[so=true]').val(val);
				$(this).css("display","none");	
            }else if($(this).attr('eletype') == 'number4'){
		    	if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				$(this).parent().children('input[so=true]').css("display","block");
				var val =$(this).val();
		    	if(val != null && val != ''){
		    		val = (parseFloat($(this).val())).toFixed(4);
		    	}
		    	$(this).parent().children('input[so=true]').val(val);
				$(this).css("display","none");	
            }else if($(this).attr('eletype') == 'percent'){
		    	if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				$(this).parent().children('input[so=true]').css("display","block");
				var val =$(this).val();
		    	if(val != null && val != ''){
		    		val = ((parseFloat($(this).val()))*1000000/10000)+'%';
		    		
		    	}
		    	$(this).parent().children('input[so=true]').val(val);
				$(this).css("display","none");	
            }else if($(this).attr('eletype') == 'numberF'){ // 负小数
            	if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				$(this).parent().children('input[so=true]').css("display","block");
				var val =$(this).val();
          		$(this).parent().children('input[so=true]').val(val);
				$(this).css("display","none");	
            }else if ($(this).attr('eletype') == 'filem'){    // 是多文件
        	   	// 隐藏上传链接
           		$(this).next().css('display','none');
           		$(this).next().next().find('.upLink .delClass').css('display','none');
           		
            }else if ($(this).attr('eletype') == 'imagem'){    // 图片上传 旧版本
            	// 隐藏上传链接
           		$(this).next().css('display','none');
           		$(this).next().next().find('.upLink .delClass').css('display','none');
           		
            }else if($(this).attr('eletype') == 'mulimage'){      // 多图片上传新版本
            	$(this).parent("td").removeAttr("bgcolor");
            }else if($(this).attr('eletype') == 'showimage'){     // 多图片上传和点击展示图片
            	$(this).parent("td").removeAttr("bgcolor");
            }else{    // 如果不是弹框
				if($(this).parent().children('input[so=true]').length == 0){
					$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\"  />");
				}
				$(this).parent().children('input[so=true]').css("display","block");
				$(this).parent().children('input[so=true]').val($(this).val());
				$(this).css("display","none");
			}
		}
	});
	$("#"+formId+" select").each(function(){
		if((typeof($(this).attr('qucln')) != 'undefined')&&$(this).attr('hd') != 'T'){
			$(this).parent("td").attr("bgcolor","#eeeeee");
			var selVal=$(this).find("option:selected").text();
			if($(this).parent().children('input[so=true]').length == 0){
				$(this).after("<input class=\"ainit-input\" so=\"true\" readonly=\"true\" style=\"width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee;\" />");
			}
			$(this).parent().children('input[so=true]').val(selVal);
			$(this).parent().children('input[so=true]').css("display","block");
			$(this).css('display','none');
		}
	});
	$("#"+formId+" textarea").each(function(){
		if(typeof($(this).attr('qucln') != 'undefined'&&$(this).attr('hd') != 'T')){
			$(this).parent("td").attr("bgcolor","#eeeeee");
			if($(this).parent().children('textarea[so=true]').length == 0){
				$(this).after("<textarea readonly=true so=true class='"+$(this).attr("class")+"' style='width:"+$(this).css('width')+";height:"+$(this).css('height')+";background-color:#eeeeee' ></textarea>");
			}
			$(this).parent().children('textarea[so=true]').val($(this).val());
			$(this).css('display','none');
			$(this).parent().children('textarea[so=true]').css("display","block");
		}
		
	});
}




//正整数的方法
function GetInput(event,obj){
	var keyValue ="";
	var k = event.keyCode;   // 48-57是大键盘的数字键，96-105是小键盘的数字键，8是退格符←
	// 响应鼠标事件，允许左右方向键移动
    event = window.event||event;
    if(event.keyCode == 37 | event.keyCode == 39){ 
        return; 
    } 
    var tevent = /^\d{0,8}$/;
	if(obj.value.match(tevent)==null  ){
    	$(obj).val(keyValue);
    };
	var keyValue = $(obj).val();
	$(obj).val(obj.value.replace(/[^\d]/g,"")); 
}



//目前是最多四位小数（也可整数）
function clearNoNum(event,obj){ 
	var keyValue ="";
 // 响应鼠标事件，允许左右方向键移动
 event = window.event||event;
 if(event.keyCode == 37 | event.keyCode == 39){ 
     return; 
 } 
 var tevet= /^\d{0,8}$/ ;
 var tevet2= /^\d{0,8}\.\d{0,4}$/ ;
 if(obj.value.match(tevet)==null && obj.value.match(tevet2)==null ){
 	$(obj).val(keyValue);
 };
 keyValue = $(obj).val();
 // 先把非数字的都替换掉，除了数字和'.'
 $(obj).val(obj.value.replace(/[^\d.]/g,"")); 
 // 必须保证第一个为数字而不是.
 $(obj).val(obj.value.replace(/^\./g,"")); 
 // 保证只有出现一个.而没有多个.
 $(obj).val(obj.value.replace(/\.{2,}/g,".")); 
 // 保证.只出现一次，而不能出现两次以上
 $(obj).val(obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."));
} 


//是两位小数还是四位小数的判断方法
function clearNoFlag(event,obj,flag){
	var keyVal='';
	// 响应鼠标事件，允许左右方向键移动
    event = window.event||event;
    if(event.keyCode == 37 | event.keyCode == 39){ 
        return; 
    } 
    var tevet= /^\d{0,8}$/ ; // 全是数字
    var point= /^\d{0,8}\.\d{0,2}$/; // 两位
    var tevet2= /^\d{0,8}\.\d{0,4}$/ ; // 四位
    var tevet3= /^-?(\d{0,8}\.\d{0,4})$/; // 可带负号
    var tevet4=/^-?[1-9]{0,8}$/; // 负整数
	if(flag == 2){ // 两位小数
		if(obj.value.match(tevet)==null && obj.value.match(point)==null ){
	    	$(obj).val(keyVal);
	    };
	}else if(flag == 4){ // 四位小数
		if(obj.value.match(tevet)==null && obj.value.match(tevet2)==null ){
	    	$(obj).val(keyVal);
	    };
	}else if(flag == 3){ // 正小数，负小数，2位，4位
		if(obj.value.match(tevet4)==null && obj.value.match(tevet3)==null ){
	    	$(obj).val(keyVal);
	    };
	}
	 keyVal = $(obj).val();
    // 先把非数字的都替换掉，除了数字和'.'
	 $(obj).val(obj.value.replace(/[^\d.]/g,"")); 
    // 必须保证第一个为数字而不是.
	 $(obj).val(obj.value.replace(/^\./g,"")); 
    // 保证只有出现一个.而没有多个.
	 $(obj).val(obj.value.replace(/\.{2,}/g,".")); 
    // 保证.只出现一次，而不能出现两次以上
	 $(obj).val(obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."));
}



//正小数和负小数的判断
function clearLetters(event,obj){
	var keyVal='';
	// 响应鼠标事件，允许左右方向键移动
    event = window.event||event;
    if(event.keyCode == 37 | event.keyCode == 39){ 
        return; 
    } 
    var tevet3= /^-?(\d{0,8}\.\d{0,4})$/; // 可带负号
    var tevet4=/^-?\d{0,8}$/; // 负整数
    // 正小数，负小数，2位，4位
	if(obj.value.match(tevet4)==null && obj.value.match(tevet3)==null ){
    	$(obj).val(keyVal);
    };
	
	keyVal = $(obj).val();
	// 先把非数字的都替换掉，除了数字和'.'
	$(obj).val(obj.value.replace(/[^\d.-]/g,"")); 
    // 必须保证第一个为数字而不是.
	$(obj).val(obj.value.replace(/^\./g,"")); 
    var valStr = obj.value;
// var tevet = /^-{1}0{1}\.{1}$/;
    var tevet1 = /^-{1}\.{1}$/;
    // 保证只有出现一个.而没有多个.
    $(obj).val(obj.value.replace(/\.{2,}/g,".")); 
    // 保证只有出现一个-而没有多个-
    $(obj).val(obj.value.replace(/-{2,}/g,".")); 
    // 保证.只出现一次，而不能出现两次以上
    $(obj).val(obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."));
    // 保证-只出现一次，而不能出现两次以上
    $(obj).val(obj.value.replace("-","$#$").replace(/\-/g,"").replace("$#$","-"));
// if(obj.value.match(tevet) == null){
// obj.value = obj.value.replace(/0/g,"");
// }
	if(obj.value.match(tevet1) != null){
		$(obj).val(obj.value.replace(/\./g,""));
	}
}





//百分号的方法
function percentFunc(event,obj){
	var percentVal='';
	// 响应鼠标事件，允许左右方向键移动
 event = window.event||event;
 if(event.keyCode == 37 | event.keyCode == 39){ 
     return; 
 } 
 var tevent = /^[01]$|^(0?\.\d{0,4})$|^(\.\d{0,4})$/;
 if(obj.value != null && obj.value !=''){
 	if(obj.value.match(tevent)==null  ){
 		$(obj).val(percentVal);
 	};
 	percentVal = $(obj).val();
 }
 // 先把非数字的都替换掉，除了数字和'.'
 $(obj).val(obj.value.replace(/[^\d.]/g,"")); 
 // 保证只有出现一个.而没有多个.
 $(obj).val(obj.value.replace(/\.{2,}/g,".")); 
 // 保证.只出现一次，而不能出现两次以上
 $(obj).val(obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."));
}

/*********************************************
 * 更多条件查询点击方法
 * @param obj
 * @param queryDiv 需要隐藏的界面
 * @param configDiv  更多条件的div框
 * @return
 */
function showQuerySpan(obj,queryDiv,configDiv){
	if($(obj).prev('input').attr('checked')=='checked'){
		$(obj).prev('input').removeAttr('checked');
	}else{
		$(obj).prev('input').attr('checked','checked');
	}
	showQuery($(obj).prev('input'),queryDiv,configDiv);
}


// 多条件查询点击方法
function showQuery(obj,queryDiv,configDiv){
	var ch = document.documentElement.clientHeight;
	var cw = document.documentElement.clientWidth;
	//alert(cw+"===="+ch)1740====828
	if($(obj).attr('checked')=='checked'){
		$('#'+queryDiv).hide();
		$('#'+configDiv).show();
		$('#'+configDiv).panel({  
			title: '条件查询',
			width:(1700/1740)*cw,
			height:(670/828)*ch
		});
		$('#'+configDiv).panel('open');
	}else{
		$('#'+configDiv).hide();
		$('#'+queryDiv).show();
		$('#'+configDiv).panel('close');
	}
}
// 返回是ReturnObj对象
function sucReturnObj(data,id){
	if(data.msg == "success"){
		if(id != ""){
			$('#'+id).val(data.info);
		}
		$.messager.alert("提示框","保存成功");
	}else if(data.msg == "fail"){
		$.messager.alert("提示框","保存失败","info");
	}else if(data.msg == "upfail"){
		$.messager.alert("提示框","保存失败","info");
	}else if(data.msg == "upsuccess"){
		$.messager.alert("提示框","更新成功");
	}else{
		$.messager.alert("错误提示框",data.msg,"error");
	}
}

// 保存通用方法(主表的id对象,保存的路径,所有表单的父Id,每个表单Form的范例Id,每个表table的范例Id)
function saveObjs(peIdObj,itemPkNameEx,url,panelId,formIdEx,tableIdEx){
	// 先判断基本信息是否保存
	if($(peIdObj).val() == "" || (typeof($(peIdObj))=="undefined") ){
		$.messager.alert("提示框","请先保存主表基本信息","info");
		return;
	}
	// 获取数组对象
	var printExplainFMs = new Array();
	var formobjLen = $(panelId+' table[id*='+tableIdEx+']').length;
	
	for(var i = 0; i < formobjLen; i++){
		if(checkRequire(formIdEx+''+i) != "Success")return;
		printExplainFMs[i] = getFormJson(formIdEx+''+i);
	}
	
	var peId = $(peIdObj).val(); 
	
	// 保存数据
	$.ajax({
		url:url+'?peId='+peId,
		type:'post',
		contentType: "application/json;charset=utf-8",
		data:JSON.stringify(printExplainFMs),
		dataType: "json",
		success:function(data){
			sucReturnObj(data,'');
			// 重新加载封面印刷
			// 填充ids
			if(data.msg == "success"){
				var ids = data.objList;
				var tmpId = "";
				for(var i = 0; i < ids.length; i++){
					tmpId = $('#'+formIdEx+' input[name='+itemPkNameEx+']').val();
					if(tmpId != "" && tmpId == ids[0]){
						
					}else{
						
					}
				}
			}
		}
	});
}


// 向下填充功能
function belowWrite(){
	// 获取当前选中的行
	var dsid = 'ds_bs_flowmanager1';
	var prefix = 'aac';
	var currentSel =$('#'+prefix+"_GEN_DATALIST").datagrid('getSelected');// 获取第一个选中的行
	var currentIndex=$('#'+prefix+"_GEN_DATALIST").datagrid('getRowIndex',currentSel);// 获取第一个选中行的索引
	// 先关闭编辑 获取值
	$('#'+prefix+"_GEN_DATALIST").datagrid("endEdit",currentIndex);
	var allRows =$('#'+prefix+"_GEN_DATALIST").datagrid('getRows');
	var dualMan=currentSel["DUTY_MAN"];// 执行人
	if(dualMan==undefined||dualMan=='undefined'||dualMan==''){
		return;// 没有数据的时候不执行向下填充功能
	}
	for(var i=currentIndex+1;i<allRows.length;i++){
		allRows[i].DUTY_MAN=dualMan;
		$('#'+prefix+"_GEN_DATALIST").datagrid("beginEdit",i);
		$('#'+prefix+"_GEN_DATALIST").datagrid("endEdit",i);
	}
	$('#'+prefix+"_GEN_DATALIST").datagrid("beginEdit",currentIndex);
}



// 向上填充
function upWrite(){
	// 获取当前选中的行
	var dsid = 'ds_bs_flowmanager1';
	var prefix = 'aac';
	var currentSel =$('#'+prefix+"_GEN_DATALIST").datagrid('getSelected');// 获取第一个选中的行
	var currentIndex=$('#'+prefix+"_GEN_DATALIST").datagrid('getRowIndex',currentSel);// 获取第一个选中行的索引
	// 先关闭编辑 获取值
	$('#'+prefix+"_GEN_DATALIST").datagrid("endEdit",currentIndex);
	var allRows =$('#'+prefix+"_GEN_DATALIST").datagrid('getRows');
	var dualMan=currentSel["DUTY_MAN"];// 执行人
	if(dualMan==undefined||dualMan=='undefined'||dualMan==''||currentIndex==0){
		return;// 没有数据或者选中行为第一行的时候不执行向上填充功能
	}
	for(var i=0;i<currentIndex;i++){
		allRows[i].DUTY_MAN=dualMan;
// $('#'+prefix+"_GEN_DATALIST").datagrid("refreshRow",i);
		$('#'+prefix+"_GEN_DATALIST").datagrid("beginEdit",i);
		$('#'+prefix+"_GEN_DATALIST").datagrid("endEdit",i);
	}
	$('#'+prefix+"_GEN_DATALIST").datagrid("beginEdit",currentIndex);
}




// //任务执行监控的
$(function(){
	// 禁止后退键 作用于Firefox、Opera
	document.onkeypress=banBackSpace;  
	// 禁止后退键 作用于IE、Chrome
	document.onkeydown=banBackSpace; 
	
	// 出版进度的合并
    $('#aao_DATALIST').datagrid({
        onLoadSuccess:function(){
    		mergeCellsByField("aao_DATALIST","XT_ID,XT_PUB_DATE");
      }
   });
    
    //审批设置的合并
    $('#cad_DATALIST').datagrid({
        onLoadSuccess:function(){
    		mergeCellsByField("cad_DATALIST","FLOW_ID");
      }
   });
    
//    // 订货合同
//    $('#fdh_DATALIST').datagrid({
//    	onLoadSuccess:function(){
//    	newMergeCellsByField("fdh_DATALIST","DJ_TYPE,VENDOR_ID,DJ_CODE,IS_FIN_VERIFY,IS_STOCK,IS_VERIFY,CL_TOTALSPECIES,CL_TOTALMONEY,CONTRACT_CODE");
//      }
//    });
    
   
    // 预算统计
    $('#rzc_DATALIST').datagrid({
    	onLoadSuccess:function(){
    	newMergeCellsByField("rzc_DATALIST","XT_ID,DJ_CODE,YS_PRICE,H_BANYINCI,YS_ZEBIAN,YS_MAN,TOTAL_MONEY,APPROVE_MONEY");
      }
    });
    
//    // 材料入库
//    $('#bba_DATALIST').datagrid({
//        onLoadSuccess:function(){
//    	newMergeCellsByField("bba_DATALIST","DJ_CODE,IS_VERIFY,IS_STOCK,HUOYUAN_MAN,HT_DJ_TYPE,CL_HETONGHAO");
//      }
//    });
    
//    // 材料退货
//    $('#bbf_DATALIST').datagrid({
//        onLoadSuccess:function(){
//    	newMergeCellsByField("bbf_DATALIST","IS_VERIFY,IS_STOCK,HUOYUAN_MAN,HT_DJ_TYPE,DJ_CODE");
//      }
//    });
    
//    //材料出库
//    $('#bbc_DATALIST').datagrid({
//        onLoadSuccess:function(){
//    	newMergeCellsByField("bbc_DATALIST","DJ_CODE,IS_STOCK,OUT_MAN,XT_ID,IS_VERIFY,MEMO,CL_HETONGHAO");
//      }
//    });
    
//    // 材料出库
//    $('#clientsGroupWY').datagrid({
//        onLoadSuccess:function(){
//    	newMergeCellsByField("clientsGroupWY","C_ID");
//      }
//    });
});



// 处理键盘事件 禁止后退键（Backspace）密码或单行、多行文本框除外
function banBackSpace(e) {
    var ev = e || window.event; // 获取event对象
    var obj = ev.target || ev.srcElement; // 获取事件源
    var t = obj.type || obj.getAttribute('type'); // 获取事件源类型
    // 获取作为判断条件的事件类型
    var vReadOnly = obj.getAttribute('readonly');
    var vEnabled = obj.getAttribute('enabled');
    // 处理null值情况
    vReadOnly = (vReadOnly == null) ? false: vReadOnly;
    vEnabled = (vEnabled == null) ? true: vEnabled;

    // 当敲Backspace键时，事件源类型为密码或单行、多行文本的，
    // 并且readonly属性为true或enabled属性为false的，则退格键失效
    var flag1 = (ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vEnabled != true)) ? true: false;

    // 当敲Backspace键时，事件源类型非密码或单行、多行文本的，则退格键失效
    var flag2 = (ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ? true: false;

    // 判断
    if (flag2) {
        return false;
    }
    if (flag1) {
        return false;
    }
}  


/**
 * EasyUI DataGrid根据字段动态合并单元格
 * 
 * @param tableID
 *            要合并table的id
 * @param colList
 *            要合并的列,用逗号分隔(例如："name,department,office");
 */
function mergeCellsByField(tableID, colList) {
    var ColArray = colList.split(",");
    var tTable = $("#" + tableID);
    var TableRowCnts = tTable.datagrid("getRows").length;
    var tmpA;
    var tmpB;
    var PerTxt = "";
    var CurTxt = "";
    var alertStr = "";
    for (j = ColArray.length - 1; j >= 0; j--) {
        PerTxt = "";
        tmpA = 1;
        tmpB = 0;
        for (i = 0; i <= TableRowCnts; i++) {
            if (i == TableRowCnts) {
                CurTxt = "";
            }
            else {
                CurTxt = tTable.datagrid("getRows")[i][ColArray[j]];
            }
            if (PerTxt == CurTxt) {
                tmpA += 1;
            }
            else {
                tmpB += tmpA;
                tTable.datagrid("mergeCells", {
                    index: i - tmpA,
                    field: ColArray[j],// 合并字段
                    rowspan: tmpA,
                    colspan: null
                });
                tmpA = 1;
            }
            PerTxt = CurTxt;
        }
    }
}



/**
 * EasyUI DataGrid根据字段动态合并单元格
 * 
 * @param tableID
 *            要合并table的id
 * @param colList
 *            要合并的列,用逗号分隔(例如："name,department,office");CONTRACT_CODE,CL_TOTALMONEY
 */
function newMergeCellsByField(tableID,colList) {
    var ColArray = colList.split(",");
    var tTable = $("#" + tableID);
    var TableRowCnts = tTable.datagrid("getRows").length;
    var tmpA;
    var PerTxt = "";
    var CurTxt = "";
    var mcArr=new Array();
    var mcIndexArr=new Array();
    var mcIndex=0;
    for (j = ColArray.length - 1; j >= 0; j--) {
    	mcIndex=0;
    	if(j != (ColArray.length - 1)){
    		for (i = 0; i <= TableRowCnts; i++) {
    			tTable.datagrid("mergeCells", {
                    index:mcIndexArr[mcIndex],
                    field: ColArray[j],   // 合并字段
                    rowspan: mcArr[mcIndex],
                    colspan: null
                });
            	mcIndex++;
    		}
    	}else{
    		PerTxt = "";
	        tmpA = 1;
	        for (i = 0; i <= TableRowCnts; i++) {
	            if (i == TableRowCnts) {
	                CurTxt = "";
	            }
	            else {
	                CurTxt = tTable.datagrid("getRows")[i][ColArray[j]];
	            }
	            if (PerTxt == CurTxt) {
	            	tmpA += 1;
	            }else{
	            	 mcArr[mcIndex]=tmpA;
	                    mcIndexArr[mcIndex]=i-tmpA;
	                	tTable.datagrid("mergeCells", {
	                        index: i - tmpA,
	                        field: ColArray[j],// 合并字段
	                        rowspan: tmpA,
	                        colspan: null
	                    });
	                	 mcIndex++;
	                	 tmpA = 1;
	            }
	            PerTxt = CurTxt;
	        }
    	}
    }
}


// 拼接Dg（没有勾选框）
function jointDGColumn(columns){
	var options = {  
			rownumbers: true  
		};
	var newColumns = new Array();
	var froColumns = new Array();
	var fci = 0;
	var cci = 0;
	for(var i = 0; i < columns.length; i++){
		var column = {};
		column.align = (columns[i].ALIGN ==null || columns[i].ALIGN=='')?'left':columns[i].ALIGN;
		column.title = columns[i].COLN_NAME;
		column.field = columns[i].JAVA_PROPERTY_RECORDED;
		column.width = (columns[i].WIDTH==null || columns[i].WIDTH==0 || columns[i].WIDTH=='')?100:columns[i].WIDTH ;
		column.sortable = true;
		column.headalign="right";
		if(columns[i].HIDDEN == 'T')column.hidden = true;
		if(columns[i].EDITOR != null && columns[i].EDITOR != ''){
			column.editor = eval('(' +columns[i].EDITOR+')');  // {type:'combobox',options:{data:window.parent.dz_ysc,valueField:'ID',textField:'NAME'}}（下拉框）
		}													// {type:'datalist',options:{editype:'dz_project'}
															// }(datalist表格DataGrid)
		if(columns[i].STYLER != '')column.styler = eval('window.parent.'+columns[i].STYLER); 
		if(columns[i].FORMAT_CONT != '')column.formatter = eval('window.parent.'+columns[i].FORMAT_CONT); 
		if(columns[i].IS_PK_ADD == 'T')column.vpk = 'T';
		if(columns[i].FROZEN == 'T'){
			froColumns[fci++] = column;
		}else{
			newColumns[cci++] = column;
		}
	}
	var cc = new Array();
	var fc = new Array();
	cc[0] = newColumns;
	fc[0] = froColumns;
	options.columns = (cc);
	options.frozenColumns = (fc);
	return options;
}






// 拼接Dg（有勾选框）
function jointDGColumnCheck(columns){
	var options = {  
			rownumbers: true  
		};
	var newColumns = new Array();
	var froColumns = new Array();
	froColumns[0] ={field:'kk',checkbox:true};
	var fci = 0;
	var cci = 0;
	for(var i = 0; i < columns.length; i++){
		var column = {};
		column.align = (columns[i].ALIGN ==null || columns[i].ALIGN=='')?'left':columns[i].ALIGN;
		column.title = columns[i].COLN_NAME;
		column.field = columns[i].JAVA_PROPERTY_RECORDED;
		column.width = (columns[i].WIDTH==null || columns[i].WIDTH==0 || columns[i].WIDTH=='')?100:columns[i].WIDTH ;
		column.sortable = true;
		column.headalign="right";
		if(columns[i].HIDDEN == 'T')column.hidden = true;
		if(columns[i].EDITOR != null && columns[i].EDITOR != ''){
			column.editor = eval('(' +columns[i].EDITOR+')');  // {type:'combobox',options:{data:window.parent.dz_ysc,valueField:'ID',textField:'NAME'}}（下拉框）
		}													// {type:'datalist',options:{editype:'dz_project'}
															// }(datalist表格DataGrid)
		if(columns[i].STYLER != '')column.styler = eval('window.parent.'+columns[i].STYLER); 
		if(columns[i].FORMAT_CONT != '')column.formatter = eval('window.parent.'+columns[i].FORMAT_CONT); 
		if(columns[i].IS_PK_ADD == 'T')column.vpk = 'T';
		if(columns[i].FROZEN == 'T'){
			froColumns[fci++] = column;
		}else{
			newColumns[cci++] = column;
		}
	}
	var cc = new Array();
	var fc = new Array();
	cc[0] = newColumns;
	fc[0] = froColumns;
	options.columns = (cc);
	options.frozenColumns = (fc);
	return options;
}





// 树状datagrid (单选没有勾选框的模板)
function treeListPage(colData,divName,groupName){
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		view:groupview,                       // 主要地方 1
		iconCls:'icon-save',
		height:document.documentElement.clientHeight-125 ,
		width:document.documentElement.clientWidth - 20,
		minHeight:450,
		minWidth:1180,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		pageList:[150,200,300,350],
		columns:[[]],
		pagination:true,
		rownumbers:true,
		singleSelect:true,
		checkbox:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){
			e.preventDefault();
		   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
		    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
		    $('#mm').menu('show', {
		        left:e.pageX,
		        top:e.pageY
		    });  
		},
		 groupField:groupName,
         groupFormatter:function(value,rows){
             return value + ' - ' + rows.length + ' 行明细';
         } 
	})
	dataGrid.datagrid(jointDGColumn(colData));// 根据配置选项，生成datagrid
}




// 树状datagrid (多选有勾选框的模板)
function treeListPageMul(colData,divName,groupName){
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		view:groupview,                       // 主要地方 1
		iconCls:'icon-save',
		height:document.documentElement.clientHeight-125 ,
		width:document.documentElement.clientWidth - 20,
		minHeight:450,
		minWidth:1180,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		pageList:[150,200,300,350],
		columns:[[]],
		pagination:true,
		rownumbers:true,
		singleSelect:false,
		onRowContextMenu:function(e, rowIndex, rowData){
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });
			    
		},
	   groupField:groupName,
       groupFormatter:function(value,rows){
           return eval('window.parent.dz_xtfmat').call(this,value) + ' - ' + rows.length + ' 行明细';
       }
	})
	dataGrid.datagrid(jointDGColumnCheck(colData));// 根据配置选项，生成datagrid
}


/*******************************************************************************
 * 分离界面Ds_id开始拼接页面
 * type 1/5：拼接添加或者详情页面 2 ：早期用于拼接查询页面（目前没有用到） 3 ：多条件查询页面的封装 4 ：列表界面的封装 6
 * ：常用查询条件页面的封装
 ******************************************************************************/
function producePage(colData,divName,type,colNum){
	if(!(colNum > 0))colNum = 4;
	if(type == "1" || type == "5"){
		// 添加和详情页面的封装
		produceAddPage2(colData,divName,colNum);
	}else if(type == "2"){
		// 详情页面的封装目前没有用到
	}else if(type == "3" ){
		// 多条件查询界面的封装
		colNum = "2";
		produceQRPage(colData,divName,colNum);
	}else if(type == "4"){
		// 列表界面的封装 没有复选框单选,分页
		produceListPage(colData,divName,colNum);
	}else if(type == '44'){
		// 列表界面 有复选框 是多选
		produceListPageDou(colData,divName,colNum);
	}else if(type=='55'){
		produceListPageFive(colData,divName,colNum);
	}else if(type == "6"){
		// 常用条件查询封装
		colNum = 3;
		produceUQPage(colData,divName,colNum);
	}else if(type == '7'){
		// 列表界面 没有分页的单选
		proListPage(colData,divName,colNum);
	}else if(type == '777'){
		// 列表界面 没有分页的单选  不需要设置宽度和高度
		proListPageNoWh(colData,divName,colNum);
	}else if(type == '77'){
		// 列表界面 没有分页的多选
		proListPageDou(colData,divName,colNum);
	}else if(type == '8'){
		// 列表界面 没有分页 多选 有复选框
		proListDou(colData,divName,colNum);
	}else if(type == '888'){
		// 列表界面 没有分页 多选 有复选框   没有设置宽高
		proListDouNoWh(colData,divName,colNum);
	}else if(type == '88'){
		// 列表界面 没有分页 单选 没有复选框
		produceListNoPageS(colData,divName,colNum);
	}else if(type == '9'){
		// 报表列表界面 有复选框 是多选
		produceRepListPage(colData,divName,colNum);
	}else if(type == '99'){
        // 列表界面 有复选框 是多选(用于主表的超链接)
        produceRepListPageZMX(colData,divName,colNum);
    }
}




/*******************************************************************************
 * 列表页面的拼接
 ******************************************************************************/
function produceListPage(colData,divName,colNum){
	//宽度和高度 默认占固定的百分比
	var width = document.documentElement.clientWidth*0.97;
	var height= document.documentElement.clientHeight*0.72;
	//默认的datagrid 占整个屏幕的70%
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		height:height,
		width:width,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,
		sortOrder: 'desc',
		remoteSort: false,
		pagination:true,
		pageList:[300,500,1000],
		columns:[[]],
		rownumbers:true,
		singleSelect:true,
		showFooter:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e,rowIndex,rowData){
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });  
		}
	});
	dataGrid.datagrid(jointDGColumn(colData));// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");        // 绑定datagrid 的键盘事件
} 





/*******************************************************************************
 * 报表界面初始化 datagrid（不用宽高）
 ******************************************************************************/
function produceRepListPage(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	var dsId=$('#'+divName).attr("realdsid");
	var idFile=eval("window.parent."+dsId+"_idField");
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		striped: true,
		idField:idFile,
		collapsible:true,
		sortOrder: 'desc',
		remoteSort: true,
		autoRowHeight: false,
		pagination:true,
		pageList:[300,500,1000],
		columns:[[]],
		showFooter:true,
		rownumbers:true,
		singleSelect:false,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onClickCell:function(rowIndex, field, value){
			//判断是不是数据挖掘的超链接链式，如果是，那么给该字段添加点击事件
			var styler=$("#"+divName).datagrid("getColumnOption",field).styler;
			var styler=styler+"";
			var index=styler.indexOf("commColnAHref");
			if(index>-1){
				commonAHrefEvent(divName,rowIndex, field, value);
			}
		},
		onRowContextMenu:function(e,rowIndex,rowData){
			console.log(e.target);
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });  
		}
	});
	dataGrid.datagrid(jointDGColumnCheck(colData));// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");        // 绑定datagrid 的键盘事件
}


/*******************************************************************************
 * //列表页面初始化 datagrid 有复选框 多选（主要用于明细界面的超链接）
 ******************************************************************************/
function produceRepListPageZMX(colData,divName,colNum){
    var dataGrid = $('#'+divName);
    var width = document.documentElement.clientWidth*0.97;
    var height = window.parent.innerHeight-235;
    var dsId=$('#'+divName).attr("realdsid");
    var idFile=eval("window.parent."+dsId+"_idField");
    $('#'+divName).datagrid({
        iconCls:'icon-save',
        url:null,
        height:height,
        width:width,
        striped: true,
        idField:idFile,
        collapsible:true,
        sortOrder: 'desc',
        remoteSort: false,
        autoRowHeight: false,
        pagination:true,
        pageList:[300,500,1000],
        columns:[[]],
        showFooter:true,
        rownumbers:true,
        singleSelect:false,
        rowStyler:function(index,row){
            return window.parent.getRowStyler(index,row,colData);
        },
        onClickCell:function(rowIndex, field, value){
            //判断是不是数据挖掘的超链接链式，如果是，那么给该字段添加点击事件
            var styler=$("#"+divName).datagrid("getColumnOption",field).styler;
            var styler=styler+"";
            var index=styler.indexOf("commColnAHref");
            if(index>-1){
                commonAHrefEvent(divName,rowIndex, field, value);
            }
        },
        onRowContextMenu:function(e,rowIndex,rowData){
            console.log(e.target);
            e.preventDefault();
            var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
            selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
            $('#mm').menu('show', {
                left:e.pageX,
                top:e.pageY
            });
        },
        onClickRow:function(rowIndex,rowData){
            //获取所有的选中行
            var sels=$('#'+divName).datagrid("getSelections");
            var selectLen=sels.length;
            for(var i=0;i<selectLen;i++){
                var selIndex=$('#'+divName).datagrid("getRowIndex",sels[i]);
                if(selIndex!=rowIndex){
                    $('#'+divName).datagrid("unselectRow",selIndex);
                }
            }
        }
    });
    var options = jointDGColumn(colData);
    var fzClns = options.frozenColumns;
    options.frozenColumns = [[{field:'kk',checkbox:true}]];
    for(var i = 0; i < fzClns[0].length; i ++){
        options.frozenColumns[0].push(fzClns[0][i]);
    }
    dataGrid.datagrid(options);// 根据配置选项，生成datagrid

    //dataGrid.datagrid(jointDGColumnCheck(colData));// 根据配置选项，生成datagrid
    //$('#'+divName).datagrid("keyCtr");        // 绑定datagrid 的键盘事件
}


/*******************************************************************************
 * 列表页面的拼接
 ******************************************************************************/
function produceListNoPageS(colData,divName,colNum){
	var windowheight=window.screen.availHeight;
	var weindowWidth=window.screen.availWidth;
	var width = window.parent.innerWidth-210;
	var height = window.parent.innerHeight-270;
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		height:height,
		width:width,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,
		sortOrder: 'desc',
		remoteSort: false,
		columns:[[]],
		rownumbers:true,
		singleSelect:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e,rowIndex,rowData){
			console.log(e.target);
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });  
		}
	});
	dataGrid.datagrid(jointDGColumn(colData));// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");        // 绑定datagrid 的键盘事件
} 


//列表界面 没有分页的多选
function proListPage(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	var width = window.parent.innerWidth-200;
	var height = window.parent.innerHeight-270;
	if(divName == 'prodGroupWY'||divName == 'clientsGroupWY'){
		height = window.parent.innerHeight-400;
	}
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		height:height,
		width:width,
		minHeight:450,
		minWidth:1180,
		striped: true,
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		pagination:true,
		columns:[[]],
		singleSelect: true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){
			console.log(e.target);
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });  
		},
		onClickCell:function(rowIndex, field, value){
			$('#'+divName).datagrid('beginEdit',rowIndex);
			$('#'+divName).datagrid('beginEdit',field);
			$('#'+divName).attr("colnName",field);
			var preIndex=$('#'+divName).attr("currentIndex");
			if(preIndex!=undefined&&preIndex!=null&&preIndex!=null&&rowIndex!=preIndex){
				$('#'+divName).datagrid("endEdit",preIndex);
			}
			$('#'+divName).attr("currentIndex",rowIndex);
		},
		onUnselect:function(rowIndex,field,value){
			$('#'+divName).datagrid('endEdit',rowIndex);
			$('#'+divName).datagrid('cancelEdit',rowIndex);
		},
		onSelect:function(rowIndex,field,value){
			var preIndex=$('#'+divName).attr("currentIndex");
			if (preIndex!=undefined&&preIndex!=null&&preIndex!=null&&rowIndex!=preIndex) {
				$('#'+divName).datagrid('endEdit',preIndex);
				$('#'+divName).datagrid('cancelEdit',preIndex);
			}
		}
	});   
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");       // 绑定datagrid 的键盘事件
} 



//列表界面 没有分页的多选 不用设置宽高
function proListPageNoWh(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		striped: true,
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		pagination:true,
		columns:[[]],
		singleSelect: true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){
			console.log(e.target);
			e.preventDefault();
			   var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
			    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
			    $('#mm').menu('show', {
			        left:e.pageX,
			        top:e.pageY
			    });  
		}
	});   
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");       // 绑定datagrid 的键盘事件
}



/*******************************************************************************
 * 所有datagrid的绑定的键盘事件
 ******************************************************************************/
$.extend($.fn.datagrid.methods, {
	keyCtr: function (jq) {
		return jq.each(function(){
			var grid = $(this);
			var j = -1; 
			var ed =null;
			var id=grid.attr("id");
			var prefix=grid.attr("prefix");		// 前缀
			var realdsid=grid.attr("realdsid");		
			var dsId=grid.attr("dsId");		
			if(realdsid==undefined||realdsid==null||realdsid==""||prefix==undefined||prefix==null||prefix==""){
				console.log("本界面界面的realdsid或者prefix配置不完成，输入快捷键不能用,请联系开发");
				return;
			}
			grid.datagrid('getPanel').panel('panel').attr('tabindex',1).bind('keydown',function (e) {
				switch (e.keyCode) {
				case 13:     				// enter(键盘的enter键)
					var allRows = grid.datagrid("getRows");
					var lastIndex=allRows.length-1;
					var colnName=grid.attr("colnName");
					var editRow=$(grid).datagrid("getEditRow");  //获取正在编辑的行
					var index=grid.datagrid("getRowIndex",editRow);
					if(editRow==null||colnName==null){
						console.log("请先把焦点定位其中的任意行，快捷上下键才能生效");
						return;
					}
					if(index==lastIndex){
						//如果是数量列并且是最后一列，并且本单据总有可以修改的折扣,那么回车之后自动跳转到折扣  ,否则重新定位到明细上次默认的查询条件上
						if((colnName=='H_AMOUNT'||colnName=='AMOUNT') &&(grid.datagrid('getEditor', {index:lastIndex,field:'H_DISCOUNT'})!=null)){
							$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").blur();
							$($(grid).datagrid("getEditor",{index:index,field:"H_DISCOUNT"}).target[0]).parent("td").find("#editablebox").focus();
						}else{
							$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").blur();
							$(grid).datagrid("endEdit",index);
							commonMxRowCalcu(id,index)
							var jsparam = eval("window.parent."+(dsId.split(";")[0])+"_cfxjs"); //加载计算参数
							commonMxTotalCalcu(jsparam,id);
							if($("#"+prefix+"_MXInput").find("input[isQuery=true]").length==0){
								$($("#"+prefix+"_MXInput").find("input")[0]).focus();
							}else{
								$("#"+prefix+"_MXInput").find("input[isQuery=true]").focus();
							}
						}
					}else{
					  	$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").blur();
						index=(parseInt(index)+1>=allRows.length?0:parseInt(index)+1);
						grid.datagrid('beginEdit',index);
						$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").focus();
					}
					return false;
				case 16:     				// shift(键盘的shift键)
					break;
				case 38: 					// up(键盘的上键)
					var colnName=grid.attr("colnName");
					var editRow=$(grid).datagrid("getEditRow");  //获取正在编辑的行
					var index=grid.datagrid("getRowIndex",editRow);
					if(editRow==null||colnName==null){
						console.log("请先把焦点定位其中的任意行，快捷上下键才能生效");
						return;
					}
					$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").blur();
					var allRows = grid.datagrid("getRows");
					index=(parseInt(index)-1)<0?allRows.length-1:parseInt(index)-1;
					grid.datagrid('beginEdit',index);
					$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").focus();
					return true;
				case 40: 					// down(键盘的下键)
					var colnName=grid.attr("colnName");
					var editRow=$(grid).datagrid("getEditRow");  //获取正在编辑的行
					var index=grid.datagrid("getRowIndex",editRow);
					if(editRow==null||colnName==null){
						console.log("请先把焦点定位其中的任意行，快捷上下键才能生效");
						return;
					}
				  	$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").blur();
					var allRows = grid.datagrid("getRows");
					index=(parseInt(index)+1>=allRows.length?0:parseInt(index)+1);
					grid.datagrid('beginEdit',index);
					$($(grid).datagrid("getEditor",{index:index,field:colnName}).target[0]).parent("td").find("#editablebox").focus();
					return true;
				}
			});
		});
	}
});


//function produceListPageFive(colData,divName,colNum){
//	var dataGrid = $('#'+divName);
//	var width = document.documentElement.clientWidth*0.97;
//	var height = window.parent.innerHeight-235;
//	//获取div的宽度和高度
//	$('#'+divName).datagrid({
//		//idField : 'PX_ID',
//		iconCls:'icon-save',
//		url:null,
//		height:height,
//		width:width,
//		striped: true,		
//		collapsible:true,
//		autoRowHeight: false,		
//		sortOrder: 'desc',
//		remoteSort: false,
//		pagination:true,
//		pageList:[300,500,1000],
//		showFooter:true,
//		columns:[[]],
//		rownumbers:true,
//		singleSelect:false,
//		rowStyler:function(index,row){    
//			return window.parent.getRowStyler(index,row,colData);
//		},
//		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
//		    $('#mm').menu('show', {
//		        left:e.pageX,
//		        top:e.pageY
//		    });
//		},
//		onClickCell:function(rowIndex, field, value){
//			$('#'+divName).datagrid('beginEdit',rowIndex);
//			$('#'+divName).attr("colnName",field);
//			var preIndex=$('#'+divName).attr("currentIndex");
//			if(preIndex!=undefined&&preIndex!=null&&preIndex!=null&&rowIndex!=preIndex){
//				$('#'+divName).datagrid("endEdit",preIndex);
//			}
//			$('#'+divName).attr("currentIndex",rowIndex);
//		},
//		onClickRow:function(rowIndex,rowData){
//			//获取所有的选中行
//			var sels=$('#'+divName).datagrid("getSelections");
//			var selectLen=sels.length;
//			for(var i=0;i<selectLen;i++){
//				var selIndex=$('#'+divName).datagrid("getRowIndex",sels[i]);
//				if(selIndex!=rowIndex){
//					$('#'+divName).datagrid("unselectRow",selIndex);
//				}
//			}
//		}
//	});
//	var options = jointDGColumn(colData);
//	var fzClns = options.frozenColumns;
//	options.frozenColumns = [[{field:'kk',checkbox:true}]];
//	for(var i = 0; i < fzClns[0].length; i ++){
//		options.frozenColumns[0].push(fzClns[0][i]);
//	}
//	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
//}


//列表页面 有复选框 多选
function produceListPageDou(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	var width = document.documentElement.clientWidth*0.97;
	var height = window.parent.innerHeight-235;
	//获取div的宽度和高度
	$('#'+divName).datagrid({
		//idField : 'PX_ID',
		iconCls:'icon-save',
		url:null,
		height:height,
		width:width,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		pagination:true,
		pageList:[300,500,1000],
		showFooter:true,
		columns:[[]],
		rownumbers:true,
		singleSelect:false,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
		    $('#mm').menu('show', {
		        left:e.pageX,
		        top:e.pageY
		    });
		},
		onClickCell:function(rowIndex, field, value){
			$('#'+divName).datagrid('beginEdit',rowIndex);
			$('#'+divName).attr("colnName",field);
			var preIndex=$('#'+divName).attr("currentIndex");
			if(preIndex!=undefined&&preIndex!=null&&preIndex!=null&&rowIndex!=preIndex){
				$('#'+divName).datagrid("endEdit",preIndex);
			}
			$('#'+divName).attr("currentIndex",rowIndex);
		},
		onClickRow:function(rowIndex,rowData){
			//获取所有的选中行
			var sels=$('#'+divName).datagrid("getSelections");
			var selectLen=sels.length;
			for(var i=0;i<selectLen;i++){
				var selIndex=$('#'+divName).datagrid("getRowIndex",sels[i]);
				if(selIndex!=rowIndex){
					$('#'+divName).datagrid("unselectRow",selIndex);
				}
			}
		}
	});
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
}




/****
 * type="77"  
 * 业务单明细列表界面的模板
 * @param colData
 * @param divName
 * @param colNum
 * @return
 */
function proListPageDou(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	var width = window.parent.innerWidth-250;
	var height = window.parent.innerHeight-350;
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		height:height ,
		url:null,   
		width:width,
		autoRowHeight:false,		
		selectOnCheck:false,
		minHeight:150,
		striped: true,		// 原本为false
		collapsible:true,
		sortOrder: 'desc',
		remoteSort: false,
		columns:[[]],
		singleSelect:false,
		showFooter:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
//			var rcmCellName=$(e.target).parent("td[field]").attr("field");
//			var rcmCellIndex=$(e.target).parent("td[field]").parent("tr[datagrid-row-index]").attr("datagrid-row-index");
//			$('#'+divName).attr("rcmColnName",rcmCellName);
//			$('#'+divName).attr("rcmColnIndex",rcmCellIndex);
//		    e.preventDefault();
//            $('#tmenu').menu('show', {
//                left: e.pageX,
//                top: e.pageY
//            });
		},
		onClickCell:function(rowIndex, field, value){
			$('#'+divName).attr("colnName",field);
		}
	});
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");       // 绑定datagrid 的键盘事件
}







 
// 列表页面 有复选框 多选 没有分页
function proListDou(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	var width = window.parent.innerWidth-200;
	var height = window.parent.innerHeight-270;
	if(divName == 'prodGroupYY'||divName == 'clientsGroupYY'){
		height= document.documentElement.clientHeight - 400;
	}
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		height: height,
		width:width,
		minHeight:450,
		minWidth:1180,
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		columns:[[]],
		singleSelect:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
			e.preventDefault();
			var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
		    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
		    $('#mm').menu('show', {
		        left:e.pageX,
		        top:e.pageY
		    });
		} 
	});
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");       // 绑定datagrid 的键盘事件
}


//列表页面 有复选框 多选 没有分页   不用设置宽高
function proListDouNoWh(colData,divName,colNum){
	var dataGrid = $('#'+divName);
	$('#'+divName).datagrid({
		iconCls:'icon-save',
		striped: true,		
		collapsible:true,
		autoRowHeight: false,		
		sortOrder: 'desc',
		remoteSort: false,
		columns:[[]],
		singleSelect:true,
		rowStyler:function(index,row){    
			return window.parent.getRowStyler(index,row,colData);
		},
		onRowContextMenu:function(e, rowIndex, rowData){// 右键菜单
			e.preventDefault();
			var selected=$('#'+divName).datagrid('getRows'); // 获取所有行集合对象
		    selected[rowIndex].XT_ID; // index为当前右键行的索引，指向当前行对象
		    $('#mm').menu('show', {
		        left:e.pageX,
		        top:e.pageY
		    });
		} 
	});
	var options = jointDGColumn(colData);
	var fzClns = options.frozenColumns;
	options.frozenColumns = [[{field:'kk',checkbox:true}]];
	for(var i = 0; i < fzClns[0].length; i ++){
		options.frozenColumns[0].push(fzClns[0][i]);
	}
	dataGrid.datagrid(options);// 根据配置选项，生成datagrid
	$('#'+divName).datagrid("keyCtr");       // 绑定datagrid 的键盘事件
}


/*******************************************************************************
 * 拼接分组field
 ******************************************************************************/
function formatField(groupName,tableHtml){
	var htmlF = "";
	htmlF += '<div style="display:inline-block;zoom:1;text-align: left;padding-top:10px;">';
	htmlF += ' <div id="d_uid_19" style="width:1000px;">';
	htmlF += '		<div class="caption-bar">';
	htmlF += '			<div class="collapse-button" onclick="closeP(this)"></div>';
	htmlF += '			<div class="caption">'+groupName+'</div>';
	htmlF += '			<div class="bar-right"></div>';
	htmlF += '		</div>';
	htmlF += '		<div class="body" style="position: relative;">';
	htmlF += '			<div class="d-container-ui-default" style="overflow: hidden; position: relative; text-align: left;padding-top:10px;">';
	htmlF += tableHtml;
	htmlF += '			</div>';
	htmlF += '		</div>';
	htmlF += '	</div>';
	htmlF += '</div>';
	return htmlF;
}





/*******************************************************************************
 * 添加/详情页面的拼接
 ******************************************************************************/
function produceAddPage2(colData,divName,colNum){
	var columns = colData;
	var formTableObj = $("#"+divName+"");
	var allHTML = "<table><tr><td>";
	var tableHTML = "<table  class='tableBord'><tr>";
	var lineCount = 0;
	var lineCol = colNum;
	var fidFlag = 0;// 控制是否有分块
	var groupName = "";
	
	var name_td_w = 112;
	var input_td_w = 185;
	
	var rootCount = [];
	var columnIdTmp = "";
	var colsPanC = 1;
	for ( var i = 0; i < columns.length; i++) {
		if (columns[i].IS_PARENT_GROUP_ADD != null
				&& columns[i].IS_PARENT_GROUP_ADD == 'T') {
			
			if (lineCount % lineCol > 0) {
				tableHTML += "<td colspan='"
						+ ((lineCol - lineCount % lineCol) * 2)
						+ "'></td></tr>"
			}
			tableHTML += "</table>";
			if(fidFlag == 1){
				allHTML += formatField(groupName,tableHTML);

				allHTML += "</td></tr><tr><td>";
			}else{
				allHTML += tableHTML;
			}
			tableHTML = "<table class='tableBord'><tr>";
			groupName = columns[i].COLN_NAME;
			lineCount = 0;
			fidFlag = 1;
			continue;
		}
		if (columns[i].IS_SHOW_ADD != 'F') {
			if(columns[i].HIDDEN_ADD =='T'){
				allHTML += formatAddInputObj(columns[i]);
			}else{
				if(columns[i].NEW_LINE_ADD == 'T'){
					if (lineCount % lineCol > 0) {
						tableHTML += "<td class='input_td' colspan='"
								+ ((lineCol - lineCount % lineCol) * 2)
								+ "'></td>"
								tableHTML += "</tr><tr>";
					}
					lineCount = 0;
				}
				if (columns[i].SINGLE_ROW_ADD == 'T') {
					if (lineCount % lineCol > 0) {
						tableHTML += "<td class='input_td' colspan='"
								+ ((lineCol - lineCount % lineCol) * 2)
								+ "'></td>"
								tableHTML += "</tr><tr>";
					}
					if(columns[i].REQUIRED_ADD == 'T'){
						tableHTML += "<td class='name_td_req'><span class='requireS'>*</span>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td' colspan='"
							+ (lineCol * 2 - 1) + "'>";
			    	}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td' colspan='"
							+ (lineCol * 2 - 1) + "' >";
					}
					tableHTML += formatAddInputObj(columns[i]);
					tableHTML += "</td>";
					tableHTML += "</tr>";
					lineCount = 0;
				}else {
					colsPanC = 1;
					if(columns[i].COLS_COUNT_ADD > 0 && colsPanC < columns[i].COLS_COUNT_ADD){
						colsPanC = columns[i].COLS_COUNT_ADD;
						console.log(lineCount);
						if( colsPanC <= (lineCol - lineCount) && (colsPanC <= lineCol)){
							lineCount = lineCount + colsPanC - 1;
							colsPanC = colsPanC * 2 - 1;
						}else{
							colsPanC = 1;
						}
						console.log(columns[i].COLN_NAME+":"+lineCount+'-'+colsPanC+'-'+columns[i].COLS_COUNT_ADD);
					}
					if(columns[i].REQUIRED_ADD == 'T'){
						tableHTML += "<td class='name_td_req'><span class='requireS'>*</span>"
							+ columns[i].COLN_NAME + ":</td><td class='input_td' colspan='"
							+ colsPanC + "'>";
					}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME + ":</td><td class='input_td' colspan='"
							+ colsPanC + "'>";
					}
					tableHTML += formatAddInputObj(columns[i]);
					tableHTML += "</td>";
					lineCount++;
					if (lineCount % lineCol == 0) {
						tableHTML += "</tr>";
					}
				}
			}
		}
	}
	if(fidFlag == 1){
		allHTML += formatField(groupName,tableHTML);
		allHTML += "</td></tr></table>";
	}else{
		allHTML +=  tableHTML;
		allHTML += "</td></tr></table>";
	}
	formTableObj.html(allHTML);
	// 定位光标到第一个框
	$($(formTableObj).find('input[type!=hidden]')[0]).focus();
}


/*******************************************************************************
 * 添加/详情和属性的拼接封装
 ******************************************************************************/		
function formatAddInputObj(clnObj) {
	var inpHTML = "";
	var properties="";// 存储所有属性的集合
	var isPKAdd=clnObj.IS_PK_ADD; // 该列是否是主键
	var quCln=clnObj.JAVA_PROPERTY_RECORDED; 
	var name=clnObj.JAVA_PROPERTY;// 与数据库对应的实体类的名字
	var colName=clnObj.COLN_NAME;// 列名
	var lqdz=clnObj.RELATION_FLAG; // 拉取对照信息的字段的标志位,包括拉取的和被拉取的
	var relationDsId=clnObj.RELATION_DSID;  // 拉取的Dsid（决定该字段是拉去的还是被拉去的）
	var relationFunc=clnObj.RELATION_FUNC;   // 拉取信息的特殊函数
	
	// 拉取对照信息的时候的配置
	if(lqdz!=null&&lqdz!=""){   
		properties += " lqdz="+lqdz;  
	}
	if(relationDsId!=null&&relationDsId!=""){
		properties += " relationDsId="+relationDsId;  
	}
	if(relationFunc!=null&&relationFunc!=""){   
		properties += " relationFunc="+relationFunc;  
	}
	
	if(isPKAdd != null && isPKAdd == 'T'){      
		properties += " vpk='T'";  
	}
	if(quCln!=null&&quCln!=""){
		properties+= " quCln="+quCln;
	}else{
		$.messager.alert("详情页面的配置提示",colName+"的JAVA_PROPERTY的字段没有配置")
	}
	if(name!=null&&name!=""){
		properties+= " name="+name;
	}
	if(clnObj.HIDDEN_ADD != null && clnObj.HIDDEN_ADD == 'T'){    
		/***********************************************************************
		 * 隐藏的字段返回的html拼接
		 */
		properties +=" hd = 'T' ";
		inpHTML ="<input " + properties + " type=\"hidden\" />";
		return inpHTML;
	}else{
		/***********************************************************************
		 * 非隐藏的字段返回的html拼接
		 */
		var inpType = clnObj.INPUTTYPE_ADD;
		var ediType = clnObj.EDITYPE_ADD;
		var isPrompt=clnObj.IS_PROMPT;                  //是否需要提示信息
		var promptMsg=clnObj.PROMPT_MSG;				//提示信息
		var readonlyAdd=clnObj.READONLY_ADD;
		var autoAdd=clnObj.AUTO_ADD;
		var requiredAdd=clnObj.REQUIRED_ADD;
		var yuanDsId=clnObj.YUAN_DS_ID;
		var isCopy=clnObj.IS_COPY;
		var avm=clnObj.AFTER_VERIFY_M;
		var sm=clnObj.SINGLE_MORE;   
		var modelType=clnObj.MODEL_TYPE;   
		var dataListFunc_m=clnObj.MULTI_RETURN_FUNC;   	// 一对多弹框的回调函数
		var dataListFunc_s=clnObj.DATALISTFUNC;      	// 普通弹框的回调函数
		var dataListFilter=clnObj.DATALIST_FILTER;   	// 弹框控件数据的过滤字段
		var dgW=clnObj.DG_WIDTH;						// 弹框的宽度
		var dgH=clnObj.DG_HEIGHT;						// 弹框的高度
		var formatfunc=clnObj.FORMAT_CONT;  
		var multidsid=clnObj.MULTI_DZ_DS_ID;
		var mulSameDsId=clnObj.MULTI_SAME_DS_ID;
		var dsId=clnObj.DS_ID;
		var commClass="ainit-input";
		var width = clnObj.WIDTH_ADD;
		var height=clnObj.HEIGHT_ADD;
		var a = clnObj.SINGLE_ROW_ADD;
		var b = clnObj.COLS_COUNT_ADD;
		
		
		// 宽度设置
		if(a == 'T'){// 独立一行
			width = 840;
		}else{
			if(b > 1){
				width = b*132 + (b-1)*101;
			}else{
				width = 128;
			}
		}
		width = 'width:'+width+'px;';
		
		var height = clnObj.HEIGHT_ADD;
		if ((height != null || height != 'null') && height > 0) {
			height = "height:" + height + "px;"
		} else {
			height = ""
		}
		
		if(inpType=='datetime'||inpType=='date'||inpType=='time'){
			commClass= commClass+" ainit-date";
		}else if(inpType=='textarea'){
			commClass= commClass+" ainit-textarea";
		}
		properties+= " class= \'"+commClass+"\'";
		if(ediType == null || ediType == '') ediType='000';
		// 只读
		if(readonlyAdd!= null && readonlyAdd == 'T'){
			properties += " nowrite=true "; // readonly=true
		}
		// 自动填充
		if(autoAdd != null && autoAdd == 'T'){
			properties += " rauto='true' ";
		}
		// 必填
		if( requiredAdd != null && requiredAdd == 'T'){
			properties += " areq=true ";
		}
		if(inpType != null && inpType != ''){
			properties += " eletype="+inpType+" ";
		}
		properties += " onchange=chan(this); ";
		
		if(yuanDsId != null&&yuanDsId!=''&& yuanDsId!='' ){
			properties +=" ydsid = '"+yuanDsId +"' ";
		}
		
		if(isCopy!=null&&isCopy=='T'){
			properties +=" isCopy = '"+clnObj.IS_COPY+"' ";
		}
		if(avm!=null&&avm=='T'){
			properties +=" isVerifyM = '"+clnObj.AFTER_VERIFY_M+"' ";
		}
		if(inpType != 'datetime' && inpType != 'date' && inpType != 'time'){
			properties +=" onfocus='inpFocus(this,1)' onBlur='inpBlur(this,1)' ";
		}
		
		properties +=" isPrompt = '"+isPrompt+"' ";
		if(isPrompt=='T'){
			properties +=" promptMsg = '"+promptMsg+"' ";
		}
		 
		switch (inpType) {
		case "password":
			inpHTML ="<input " + properties + " type=\"password\" style='" + width+ height + "'/>";
			break;
		case "file":
			inpHTML = "<input  " + properties + " readonly=\"readonly\" type=\"hidden\"/>";
			inpHTML += "<form "+
					" id=\""+dsId+quCln+"\" dsid=\""+dsId+"\" type=\"file\" encType='multipart/form-data' onsubmit=\"return upEFileSubmit(this)\"  method=\"post\" target=\"hidden_frame\" > " ;
			inpHTML += "	<input name='file' type=\"file\">文件描述<input name='ufileName'>" ;
			inpHTML += "	<a href=\"javascript:void(0);\" onclick=\"uploadEFiles(this,\'"+dsId+"\',\'"+quCln+"\')\" >上传</a>" ;
			inpHTML += "	<a href=\"javascript:void(0);\" onclick=\"loadEFiles(this,\'"+dsId+"\',\'"+quCln+"\')\" >加载列表</a>" ;
			inpHTML += "</form>" ;
			inpHTML += "<iframe name='hidden_frame' id=\"hidden_frame\" style='display:none'></iframe>";
			// inpHTML += " <a href='javascript:void(0);'
			// dsid='"+clnObj.DS_ID+"' onclick='alert(\"未开启\")'>多附件上传</a>";
			inpHTML += "<div readonly=\"readonly\" type=\"hidden\">请刷新附件</div>";
			break;
		case "filem":
			inpHTML = "<input  " + properties + " type=\"hidden\"/>";
			inpHTML += "<div  class='upLinkP'>" +
					 		"<a href='javascript:;' onclick=\"openUpImg(this,'"+clnObj.DS_ID+"','"+clnObj.JAVA_PROPERTY_RECORDED+"','2')\" " +
					 				" style='padding-left:10px;'>附件上传</a>"+
					 		"<a href='javascript:;' onclick=\"refImg(this,'"+clnObj.DS_ID+"','"+clnObj.JAVA_PROPERTY_RECORDED+"','2')\" " +
					 				" style='padding-left:10px;'>刷新附件列表</a>"+
					    "</div>";
			inpHTML += "<div dsId='"+clnObj.DS_ID+"' clnName='"+clnObj.JAVA_PROPERTY_RECORDED+"' id='"+ clnObj.DS_ID + clnObj.JAVA_PROPERTY_RECORDED + "' style='height:auto;'></div>";
			inpHTML += "<span style='padding-top:10px;padding-left:190px;'></span>";
			break;
		case "radio":
			inpHTML ="<input " + properties + " type=\"radio\" style='" + width+ height + "'/>";
			break;
		case "checkbox":
			inpHTML ="<input " + properties + " type=\"checkbox\" style='" + width+ height + "'/>";
			break;
		case "email":   
				inpHTML ="<input " + properties + " id=\"email\" style='" + width+ height + "' onblur=\"checkNum(this)\"/>";
			break;
		case "select":
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("详情页面的配置提示",colName+"列的ediTypeAdd没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的FORMAT_CONT没有配置");
			}
			inpHTML = "<select class='ainit-select' " + properties + " style='" + width + height 	+ "'></select>";
			break;
		case "textarea":
			inpHTML = "<textarea " + properties +  " style='"+ width+ height+ "' ></textarea>";
			break;
		case "integer":
			inpHTML = "<input " + properties + " id=\"intnum\" style='" + width
					+ height + "' onkeyup='GetInput(event,this)'/>";
			break;
		case "number":
			inpHTML = "<input " + properties + " id=\"number\" style='" + width
					+ height + "' onkeyup='clearNoNum(event,this)' />";
			break;
		case "number2":
			inpHTML = "<input " + properties + " id=\"number2\" style='" + width
			+ height + "' onkeyup='clearNoFlag(event,this,2)' />";
			break;
		case "number4":
			inpHTML = "<input " + properties + " id=\"number4\" style='" + width
			+ height + "' onkeyup='clearNoFlag(event,this,4)' />";
			break;
		case "percent":
			inpHTML = "<input " + properties + " id=\"percent\" style='" + width
			+ height + "' onkeyup='percentFunc(event,this)' />";
			break;
		case "numberF":
			inpHTML = "<input " + properties + " id=\"numberF\" style='" + width
			+ height + "' onkeyup='clearLetters(event,this)' />";
			break;
		case "datetime":
			inpHTML = "<input dateformat=\'datetime\' "+ properties+ " style='"+ width+ height+ "' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"   readonly=\"readonly\"/>";
			break;
		case "date":
			inpHTML = "<input  dateformat=\'date\' " + properties + " style='" + width + height
					+ "' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd'})\" readonly=\"readonly\"/>";
			break;
		case "time":
			inpHTML = "<input  dateformat=\'time\' " + properties + " style='" + width + height
					+ "' onclick=\"WdatePicker({dateFmt:'HH:mm:ss'})\"  readonly=\"readonly\"/>";
			break;
		case "image":
			inpHTML = "<input  " + properties + " readonly=\"readonly\" type=\"hidden\"/>";
			inpHTML += "<img id='"+quCln+"'  width='220px' height='250px' src='../model/images/no-image.png' width='150px' height='1790px'><a href='javascript:void(0);' dsid='"+clnObj.DS_ID+"' onclick='openImgW(this)'>图片上传</a>";
			break;
		//多张图片的上传，老版本
		case "imagem":
			inpHTML = "<input  " + properties + " type=\"hidden\"/>";
			inpHTML += "<div  class='upLinkP'>" +
					 		"<a href='javascript:void(0);' onclick=\"openUpImg(this,'"+clnObj.DS_ID+"','"+clnObj.JAVA_PROPERTY_RECORDED+"','1')\" " +
					 				" style='padding-left:10px;cursor: pointer;'>图片上传</a>"+
					 		"<a href='javascript:void(0);' onclick=\"refImg(this,'"+clnObj.DS_ID+"','"+clnObj.JAVA_PROPERTY_RECORDED+"','1')\" " +
					 				" style='padding-left:10px;cursor: pointer;'>刷新图片列表</a>"+
					    "</div>";
			inpHTML += "<div dsId='"+clnObj.DS_ID+"' clnName='"+clnObj.JAVA_PROPERTY_RECORDED
					+"' id='"+ clnObj.DS_ID + clnObj.JAVA_PROPERTY_RECORDED + "' style='width:850px;height:270px;overflow:scroll;display:none;' ></div>";
			inpHTML += "<span style='margin-top:10px;padding-left:190px; '></span>";
			break;
		//多张图片的上传，新版本	
		case "mulimage":
			properties += " dsid='"+dsId+"'";
			inpHTML = "<input  " + properties + " type=\"hidden\"/>";
			
			//多图片上传最外层的Div
			inpHTML += "<div id=\"mul_imgs\" class=\"mul_imgs\" ><div class=\"mul_div\">";
			
			//图片展示左右的切换
			inpHTML += "<img src="+_m_url+"ainitweb/plugins/dropzone/images/left.png  id=\"left\"   class=\"left\" />" +
					   "<img src="+_m_url+"ainitweb/plugins/dropzone/images/right.png  id=\"right\"  class=\"right\" />";
			
			//要展示的图片
			inpHTML += "<div id=\"prolist\" class=\"prolist\"  ><div id=\"prolists\" class=\"prolists\" >" +
					" <img src="+_m_url+"ainitweb/plugins/dropzone/images/pxh1.jpg />" +
					"</div></div>";
			
			//添加图片的按钮
			inpHTML += "<div title=\"上传\" class=\"newMyDropzone\" onclick=\"showMyDropzone('"+dsId+"','"+quCln+"',this)\" ></div>";
			
			//点击添加图片的弹框  
			inpHTML+="<div  id=\"imgDropzone\" class=\"imgDropzone\">" +  
					 "<div class=\"updropzone\" >" +//弹框上的按钮
					 	"<a class=\"alink\"  onclick=\"closeImgDiv(this)\">[确认]</a>" +
					 "</div>" +
					 "<div id=\"myDropzone\"   colnName='"+quCln+"' class=\"dropzone\" ></div>" + //弹框上添加图片的DIV控件
					 " <div id=\"upImgs\" >" +   //上传的消息提示
					 "<span style=\"color:#008000\">说明:</br>带红X的图片为上传失败图片</br>请去除文件名中带有特殊字符的图片！！！</span>" +
					 "</div>"+
					 "</div>";
			
			//遮罩
			inpHTML += "<div id=\"fade\" class=\"black_shade\"></div> </div></div>";      
			break;
		case "showimage":
			properties += " dsid='"+dsId+"'";
			inpHTML = "<input  " + properties + " type=\"hidden\"/>";
			
			//多图片上传最外层的Div
			inpHTML += "<div id=\"mul_imgs\"  ><div>";
			
			
			//添加图片的按钮
			inpHTML += "<div title=\"展示\" id=\"showImgDiv\" class=\"showImgDiv\" onclick=\"showImgs('"+dsId+"','"+quCln+"',this)\" ></div>";
			
			//添加图片的按钮
			inpHTML += "<div title=\"上传\" class=\"newShowDropzone\" onclick=\"showMyDropzone('"+dsId+"','"+quCln+"',this)\" ></div>";
			
			//点击添加图片的弹框  
			inpHTML+="<div  id=\"imgDropzone\" class=\"imgDropzone\">" +  
					 "<div class=\"updropzone\" >" +//弹框上的按钮
					 	"<a class=\"alink\"  onclick=\"closeImgDiv(this)\">[确认]</a>" +
					 "</div>" +
					 "<div id=\"myDropzone\"   colnName='"+quCln+"' class=\"dropzone\" ></div>" + //弹框上添加图片的DIV控件
					 " <div id=\"upImgs\" >" +   //上传的消息提示
					 	"<span style=\"color:#008000\">说明:</br>带红X的图片为上传失败图片</br>请去除文件名中带有特殊字符的图片！！！</span>" +
					 "</div>"+
					 "</div>";
			
			//点击展示图片的弹框  
			inpHTML+="<div  id=\"showImgDropzone\" class=\"showImgDropzone\">" +  
						 "<div class=\"updropzone\" >" +//弹框上的按钮
						 	"<a class=\"alink\"  onclick=\"closeSImgDiv(this)\">[确认]</a>" +
						 "</div>" +
						 "<div id=\"showAllImgs\"   colnName='"+quCln+"' class=\"showAllImgs\" ></div>" + //弹框上添加图片的DIV控件
					 "</div>";
			
			//遮罩
			inpHTML += "<div id=\"fade\" class=\"black_shade\"></div> </div></div>";      
			break;	
		case "weibo":
			inpHTML = "<input  " + properties + " type=\"hidden\"/>";
			inpHTML += "<div id='"+ clnObj.DS_ID + clnObj.JAVA_PROPERTY_RECORDED + "' " +
					" dsId='"+ clnObj.DS_ID +"' " +
					" clnName='"+ clnObj.JAVA_PROPERTY_RECORDED +"' ></div>";
			break;
		case "datalist":
			var mulInpHTML="";  // 存一对弹框的编码
			properties += " ediType='"+ediType+"'";
			properties += " formatfunc='"+formatfunc+"'";
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("详情页面的配置提示",colName+"列的ediTypeAdd没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的formatfunc没有配置");
			}
			if(sm!=null && sm =="T"){   // 弹框的单选
				properties += " sm=true";
				if(dsId!=null&&dsId!=""){     
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
			}else{   // 弹框的多选
				if(dsId!=null&&dsId!=""){     
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
				if(multidsid==null||multidsid==""){
					$.messager.alert("配置提示",colName+"的multidsid没有配置");
				}
				properties += " sm=false";
				mulInpHTML="<input class=\"ainit-input\"  ismulcode=\"T\"  type=\"hidden\"/>"
			}
			if(modelType!= null&&modelType!='' ){
				properties +=" modelType = '"+modelType +"' ";
			}else{
				$.messager.alert("配置提示",colName+"的modelType没有配置");
			}
			if(dataListFunc_m!= null&&dataListFunc_m!='' ){
				properties +=" dataListFunc_m = '"+dataListFunc_m +"' ";
			}
			if(dataListFunc_s!= null&&dataListFunc_s!='' ){
				properties +=" dataListFunc_s = '"+dataListFunc_s +"' ";
			}
			if(multidsid!=null&&multidsid!=""){
				properties +=" multidsid = '"+multidsid +"' ";
			}
			if(mulSameDsId!=null&&mulSameDsId!=""){
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}else{
				mulSameDsId="";
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}
			if(dataListFilter!=null&&dataListFilter!=""){
				properties += " dataListFilter='"+dataListFilter+"'";
			}
			if(dgW!=null&&dgW!=""){			// 弹框的宽度
				properties +=" dgW = '"+dgW +"' ";
			}else{
				properties +=" dgW =620";
			}
			if(dgH!=null&&dgH!=""){			// 弹框的高度
				properties +=" dgH = '"+dgH +"' ";
			}else{
				properties +=" dgH =365";
			}
			inpHTML = "<input " + properties + " style='" + width + height+"' type='hidden'   ></input>" +
				"<input dsId='"+clnObj.DS_ID+"'  readonly='readonly' onfocus='inpFocus(this,1)' onBlur='inpBlur(this,1)'  class='ainit-input ainit-dl' style='cursor: pointer;" + width + height+"' onclick=\"showModelData(this)\" dgs='true'></input>"+mulInpHTML; // onkeydown=\"if(event.keyCode==13){showDataList(this,2)}\"
			break;
		default:
			inpHTML = "<input onfocus='inpFocus(this,1)' onBlur='inpBlur(this,1)' class='ainit-input'  type='text'" + properties + " style='" + width + height+ "'/>";
		}
		return inpHTML;
	}
}


/*******************************************************************************
 * 图片上传多图展示效果 开始
 ******************************************************************************/
/*******************************************************************************
 * obj 上传按钮 dsid clnName flag 1 图片上传 2 附件上传
 */
function openUpImg(obj,dsId,clnName,flag){
	if($('#'+dsId+'_'+clnName+'_upW').length > 0){
		$('#'+dsId+'_'+clnName+'_upW').remove();
	}
	var keyValue = $(obj).parent().parent().find('input[qucln='+clnName+']').val();
	var div_box = document.createElement("DIV");
	div_box.id = dsId+'_'+clnName+'_upW';
	document.body.appendChild(div_box);
	$('#'+dsId+'_'+clnName+'_upW').css('display','none');
	$('#'+dsId+'_'+clnName+'_upW').load(_m_url+'upload/upW',
			{'dsId':dsId,'clnName':clnName,'flag':flag,'keyValue':keyValue},
			function(){
				$('#describe').val('');
				$('#file').val('');
				$('#'+clnName+'upImgDiv').window({  
					height:165,// window.parent.innerHeight-115,
					width:464,// window.parent.innerWidth-180,
					left:230,
					top:90,
					title:'图片上传',
					draggable:true,
					modal:true,
					resizable:false,
					closable:false,
					collapsible:false,
					maximizable:false,
					minimizable:false
				});  
				$('#'+clnName+'upImgDiv').window('open');
				$.parser.parse('#'+clnName+'upImgDiv');
			}
	);
}

/*******************************************************************************
 * 文件上传成功回调函数 upMulCback
 * 
 * @param succFlag
 *            状态成功标志位
 * 
 */
function upMulCback(succFlag,fileName,dsId,colnName,keyValue,fileId,flag){  
	$('#describe').val('');
	$('#file').val('');
	// 将图片/（或文件）追加到后面
	// 将主键填充到表中
	var obj = $('#'+dsId+clnName);
	if((($(obj).parent().find('input[qucln='+clnName+']').val() == keyValue)|| ($(obj).parent().find('input[qucln='+clnName+']').val() == '')) && keyValue != ''){
		$(obj).parent().find('input[qucln='+clnName+']').val(keyValue);
		$(obj).parent().find('input[qucln='+clnName+']').attr('chan','T')
	}else{
		$.messager.alert("操作提示","图片上传异常，请联系开发!","info");
		return;
	}
	if(flag == '1'){ // 图片上传成功
		$(obj).css('overflow-y',' scroll');
		$(obj).append("<div style='float:left;padding:3px;'>" +
						"<img src='"+_m_url+"upload/downFile?fileid="+fileId+"&dsId="+dsId+"&clnName="+clnName+"' width='160px' height='225px' >" +
						"<div class='upLink' align='center'>  "+ fileEditM(fileId,dsId,clnName,flag)+" </div>" +
					"</div>");
	}else if(flag == '2'){ // 文件上传成功
		var myDate = new Date();
		var str = myDate.toLocaleString(); 
		$(obj).append("<div style='width:100%;' ><div style='width:270px;float:left;'>"+fileName+"</div>" +
				"<div style='width:160px;float:left;'>"+ myDate.toLocaleString()+"</div>"+
				"<div class='upLink' align='center' style='float:left;'> "+ fileEditM(fileId,dsId,clnName,flag)+" </div></div><br/>");
	}
	if($(obj).html() == ''){
		$(obj).next().html('没有附件');
		$(obj).css('display','none');
	}else{
		$(obj).next().html('');
		$(obj).css('display','block');
	}
}

/*******************************************************************************
 * 文件上传失败回调函数 upMulCback
 * @param succFlag
 *            状态成功标志位
 * 
 */
function upFailMulCback(succFlag,msg){  
	$.messager.alert("操作提示","上传失败:"+msg,"info");
}

/**
 * 点击刷新文件的列表
 * 
 * @param obj
 * @param dsId
 * @param clnName
 * @param flag
 * 1 图片 2 附件
 * @return
 */
function refImg(obj,dsId,clnName,flag){
	var pkValue = $(obj).parent().prev().val();
	var showObj = $(obj).parent().next();
	if(pkValue == null || pkValue == ''){
		if(flag == 1){
			$(showObj).next().html('没有图片');
		}else if(flag == 2){
			$(showObj).next().html('没有附件');
		}
		$(showObj).css('display','none');
		return;
	}
	$(showObj).css('display','block');
	refImgComm(showObj,dsId,clnName,pkValue,flag);
}


/**
 * 填充数据fillInfo 时候 触发 加载文件列表
 * @param obj
 * @param dsId
 * @param clnName
 * @param flag
 * 1 图片 2 附件
 */
function refImgFillInfo(obj,dsId,clnName,pkValue,flag){
	var showObj = $(obj).next().next();
	if(pkValue == null || pkValue == ''){
		if(flag == 1){
			$(showObj).next().html('没有图片');
		}else if(flag == 2){
			$(showObj).next().html('没有附件');
		}
		$(showObj).html("");
		$(showObj).css('display','none');
		return;
	}
	refImgComm(showObj,dsId,clnName,pkValue,flag);
}

/**
 * 刷新文件列表被调用的方法
 * @param obj
 * 以被填充的div 为准
 * @param dsId
 * @param clnName
 * @param flag
 * @return
 */
function refImgComm(obj,dsId,clnName,pkValue,flag){
	$.ajax({
		url:_a_url+'upload/getFiles?fileId=&dsId='+dsId+'&clnName='+clnName+'&keyValue='+pkValue,
		type:'post',
		data:{},
		success:function(data){
			if(!(data.fileList.length > 0)){// 没有附件
				if(flag == 1){
					$(obj).next().html("没有图片");
				}else if(flag == 2){
					$(obj).next().html("没有附件");
				}
				$(obj).html("");
				$(obj).css('display','none');
				return;
			}
			var callHTML = "";
			$(obj).css('display','block');
			$(obj).next().html('');
			if(flag == 1){
				for(var i = 0; i <data.fileList.length; i++){
					callHTML += "<div style='float:left;padding:3px;'>" +
							"<img src='"+_m_url+"upload/downFile?fileid="+data.fileList[i].ID+"&dsId="+data.dsId+"&clnName="+data.clnName+"' width='160px' height='225px' >" +
							"<div class='upLink' align='center'> "+ fileEditM(data.fileList[i].ID,data.dsId,data.clnName,flag)+"  </div>" +
						"</div>";
				}
			}else if(flag == 2){
				for(var i = 0; i < data.fileList.length; i++){
					callHTML += "<div style='width:100%;' ><div style='width:270px;float:left;'>"+data.fileList[i].NAME +"."+ data.fileList[i].SUFFIX  +"</div>" +
							"<div style='width:160px;float:left;'>"+ window.parent.formatDateTimeL(data.fileList[i].UPLOAD_DATE)+"</div>"+
							"<div class='upLink' align='center' style='float:left;'> "+ fileEditM(data.fileList[i].ID,data.dsId,data.clnName,flag)+" </div></div><br/>";
				}
			}
			$(obj).html(callHTML);
		}
	});
};



/*******************************************************************************
 * 文件字段，操作列 的html字符串
 * @return
 */
function fileEditM(id,dsId,clnName,flag){
	var editHTML = 
// "重新上传&nbsp;&nbsp;" +
// "<a href='javascript:void(0);'
// onclick='showFiles(\""+formId+"\",\""+id+"\",\""+dsId+"\",\""+clnName+"\")'>预览</a>&nbsp;&nbsp;"
// +
		"<a class='delClass' href='javascript:void(0);' onclick='deleFilesM(this,\""+id+"\",\""+dsId+"\",\""+clnName+"\",\""+flag+"\")'>删除</a>&nbsp;&nbsp;" +
		"<a href='javascript:void(0);' onclick='downFilesM(this,\""+id+"\",\""+dsId+"\",\""+clnName+"\",\""+flag+"\")'>下载</a>&nbsp;&nbsp;";
	return editHTML;
}

/**
 * 文件下载
 * 
 * @return
 */
function downFilesM(obj,id,dsId,clnName,flag){
	window.open(_a_url+'upload/downFile?fileid='+id+'&dsId='+dsId+'&clnName='+clnName,'newwindow');
}



/**********************************
 * 填充数据fillInfo 时候 触发 加载多图片上传 图片展示或者文件的列表   
 * flag:    1:多图片的展示的列表
 *********************************/
function refMulImgFillInfo(obj,flag){
	if(flag=='1'){   //左右滚动的图片上传
		//首先删除弹框的内的缓存图片
		$(obj).parent().find("#prolists img").remove();
		var dsId=$(obj).attr("dsId");
		var clnName=$(obj).attr("qucln");
		var pkValue=$(obj).val();
		$.ajax({
			url:_a_url+'upload/getFiles?fileId=&dsId='+dsId+'&clnName='+clnName+'&keyValue='+pkValue,
			type:'post',
			async:false,
			success:function(data){
				var callHTML = "";
				if(flag=="1"){
					for(var i = 0; i < data.fileList.length; i++){
						var path=_m_url+data.fileList[i].PATH;
						var Id=data.fileList[i].ID;
						var p=ReplaceAll(path,' ','%20');     //空格转义
						var commonsCnt = data.fileList[i].commentsCnt;
						callHTML+="<img class=\"item\" style=\"width:100px;height=100px;\"  pkId='"+Id+"' dsId='"+dsId+"' colnName='"+clnName+"' pkValue='"+pkValue+"' src="+p+" />";
					}																						
				}
				var imgobjs=$(callHTML);
				$(obj).next("#mul_imgs").find("div[id=prolists]").append(imgobjs);
				//图片右键功能
				Right_key_menu(flag);
			}
		});
	}else if(flag=='2'){
		$(obj).parent().find("#showAllImgs img").remove();
	}
}


//图片右键菜单
function Right_key_menu(flag) {
    $(".item").contextmenu({
        items: [{
            text: '删除',
            icon: _a_url+'/css/contextmenu/icons/application.png',
            action: function(target) {
                $.messager.confirm('提示', '确认删除吗?',
                function(r) {
                    if (r) {
                        $.ajax({
                            type: 'post',
                            url: _a_url + '/upload/deletedPictureById',
                            data: {
                                'id': $(target).attr("pkid")
                            },
                            async: false,
                            success: function(data) {
                                if (data != "error") {
                                	if(flag=='1'){
                                		  $("#prolists img[pkid]").each(function() {
                                              if ($(this).attr("pkid") == data) {
                                                  $(this).remove();
                                                  $("#" + data).remove();
                                              }
                                          })
                                	}else if(flag=='2'){
                                		  console.log($("#showAllImgs img[pkid="+$(target).attr("pkid")+"]"));
                                		  $("#showAllImgs img[pkid="+$(target).attr("pkid")+"]").remove();
                                	}
                                }
                            }
                        });
                    }
                });
            }
        }]
    });
}





/**
 * 删除文件
 * 
 * @return
 */
function deleFilesM(obj,id,dsId,clnName,flag){
	$.ajax({
		url:_a_url+'upload/delFile',
		data:{'fileid':id,'dsId':dsId,'clnName':clnName},
		success:function(data){
			if(data){
				$.messager.show({title:'操作提示',msg:'删除成功',showType:'show'});
				var pObj = $(obj).parent().parent().parent();
				if(flag == 1){
					$(obj).parent().parent().remove();
				}else if(flag == 2){
					$(obj).parent().parent().next().remove();
					$(obj).parent().parent().remove();
				}
				
				if(!($(pObj).children('div').length > 0)){
					$(pObj).css('display','none');
				}else{
					$(pObj).css('display','block');
				}
			}else{
				$.messager.show({
					title:'操作提示',
					msg:'操作失败',
					showType:'show'
				});
			}
		}
	});
}


/*******************************************************************************
 * 图片上传多图展示效果 结束
 ******************************************************************************/

/*******************************************************************************
 * 附件上传
 * 
 * @return
 ******************************************************************************/
function uploadEFiles(obj,dsid,clnName){
	var formId = dsid+""+clnName;
	// 如果主键没值，则取消不可上传图片
	var pkValue = $('form[id*=_A_AFORM]').find('input[qucln='+eval("window.parent."+dsid+'_pk')+']').val();
	if(pkValue == null  || pkValue == ''){
		$.messager.alert("提示信息","单据没有保存,无法上传图片！","info");
		console.log("单据没有主键,无法上传图片！pkValue:"+pkValue);
		return;
	}
	$(obj).parent().prev().val(pkValue);
	$(obj).parent().prev().attr('chan','T');
	var ufileName = $('form[id='+formId+']').find('input[name=ufileName]').val();
	// uploadFiles
	$('form[id='+formId+']').attr('action',_a_url+"model/uploadFiles/uploadFiles.jsp?formId="+formId+"&pkValue="+pkValue+"&dsId="+dsid+"&clnName="+clnName+"&ufileName="+ufileName );
	$('form[id='+formId+']').submit();
}

/**
 * 文件表单上传校验
 * 
 * @return
 */
function upEFileSubmit(obj){
	if($($(obj).children()[0]).val() =='' || $($(obj).children()[1]).val() =='' ){
		$.messager.alert('操作提示','请补全表单','info');
		return false;
	}
	return true;
}
/**
 * 加载文件列表
 * 
 * @param obj
 * @param dsid
 * @param clnName
 * @return
 */
function loadEFiles(obj,dsid,clnName){
	flag = '';
	var formId = dsid+""+clnName;
	// 如果主键没值，则取消不可上传图片
	var pkValue = $('form[id*=_A_AFORM]').find('input[qucln='+eval("window.parent."+dsid+'_pk')+']').val();
	if(typeof(pkValue) == 'undifined' ){
		$.messager.alert("操作提示","表单没有保存，无法加载列表");
		return;
	}
	var content = '';
	upFileCback(flag,formId,pkValue,dsid,clnName,content);
}


/*******************************************************************************
 * fillInfo 填充数据 和 操作的时候 点击 加载文件的HTML obj 是填充的div
 */
function parseFiles(flag,obj,pkValue,dsId,clnName,content){
	var callHTML = "<TABLE  cellpadding='0' cellspacing='0'  class='upfile'  cellpadding='0' cellspacing='0' >";
	$.ajax({
		url:_a_url+'upload/getFiles?fileId=&dsId='+dsId+'&clnName='+clnName+'&keyValue='+pkValue,
		type:'post',
		data:{},
		success:function(data){
			if(!(data.fileList.length > 0)){
				$(obj).html("<font color='green'>没有附件</font>");
				return;
			}
			var formId = dsId+""+clnName;
			for(var i = 0; i < data.fileList.length; i++){
				callHTML += "<TR><TD class='upfiletd'>"+data.fileList[i].NAME +"."+ data.fileList[i].SUFFIX  +"</TD>"+
							"<TD class='upfiletd'>"+ window.parent.formatDateTime(data.fileList[i].UPLOAD_DATE) +"</TD>"+
							"<TD class='upfiletd' tid="+i+"'tid'>" +
							fileEdit(formId,data.fileList[i].ID,dsId,clnName)+
							"</TD></TR>";
			}
			callHTML += "</TABLE>";
			$(obj).html(callHTML);
		}
	});
}

/**
 * 上传附件完成之后回调方法
 * 
 * @return
 */
function upFileCback(flag,formId,pkValue,dsId,clnName,content){
	var callHTML = "<TABLE  cellpadding='0' cellspacing='0'  class='upfile'  cellpadding='0' cellspacing='0' >";
	$.ajax({
		url:_a_url+'upload/getFiles?fileId=&dsId='+dsId+'&clnName='+clnName+'&keyValue='+pkValue,
		type:'post',
		data:{},
		success:function(data){
			console.log(data);
			if(!(data.fileList.length > 0)){
				$('form[id='+formId+']').next().next().html("<font color='green'>没有附件</font>");
				return;
			}
			for(var i = 0; i < data.fileList.length; i++){
				console.log(data.fileList[i].NAME + data.fileList[i].SUFFIX );
				callHTML += "<TR><TD class='upfiletd'>"+data.fileList[i].NAME +"."+ data.fileList[i].SUFFIX  +"</TD>"+
							"<TD class='upfiletd'>"+ window.parent.formatDateTime(data.fileList[i].UPLOAD_DATE) +"</TD>"+
							"<TD class='upfiletd' tid="+i+"'tid'>" +
							fileEdit(formId,data.fileList[i].ID,dsId,clnName)+
							"</TD></TR>";
			}
			callHTML += "</TABLE>";
			$('form[id='+formId+']').next().next().html(callHTML);
		}
	});
}

/*******************************************************************************
 * 文件字段，操作列 的html字符串
 * 
 * @return
 */
function fileEdit(formId,id,dsId,clnName){
	var editHTML = 
// "重新上传&nbsp;&nbsp;" +
		"<a class='delClass' href='javascript:void(0);' onclick='deleFiles(\""+formId+"\",\""+id+"\",\""+dsId+"\",\""+clnName+"\")'>删除</a>&nbsp;&nbsp;" +
// "<a href='javascript:void(0);'
// onclick='showFiles(\""+formId+"\",\""+id+"\",\""+dsId+"\",\""+clnName+"\")'>预览</a>&nbsp;&nbsp;"
// +
		"<a href='javascript:void(0);' onclick='downFiles(\""+formId+"\",\""+id+"\",\""+dsId+"\",\""+clnName+"\")'>下载</a>&nbsp;&nbsp;";
	return editHTML;
}

/**
 * 删除文件
 * 
 * @return
 */
function deleFiles(formId,id,dsId,clnName){
	var divObj = $('form[id='+formId+']').next().next();
	var pkValue = $('form[id*=_A_AFORM]').find('input[qucln='+eval("window.parent."+dsId+'_pk')+']').val();
	$.ajax({
		url:_a_url+'upload/delFile',
		data:{'fileid':id,'dsId':dsId,'clnName':clnName},
		success:function(data){
			if(data){
				$.messager.alert('操作提示','删除成功','success');
			}else{
				$.messager.alert('操作提示','操作失败','error');
			}
			parseFiles('',divObj,pkValue,dsId,clnName,'');
		}
	});
}

/**
 * 文件预览
 * 
 * @return
 */
function showFiles(formId,id,dsId,clnName){
	
}

/**
 * 文件下载
 * 
 * @return
 */
function downFiles(formId,id,dsId,clnName){
	window.open(_a_url+'upload/downFile?fileid='+id+'&dsId='+dsId+'&clnName='+clnName,'newwindow');
}
/*******************************************************************************
 * 附件上传结束
 ******************************************************************************/

/**
 * 光标定位样式效果
 * 
 * @param obj
 * @param flag
 * @return
 */
function inpFocus(obj,flag){
	if(flag == 1){// input框
		// background-color:#C9ECFE;
		$(obj).css('background-color','#C9ECFE');
	}
}
/**
 * 光标离开效果
 * 
 * @param obj
 * @param flag
 * @return
 */
function inpBlur(obj,flag){
	var inputType = $(obj).attr('eletype');
	if(flag == 1){// input框
		$(obj).css('background-color','#ffffff');
		if(inputType=='number2'){
			if(obj.value != null && obj.value != ''){
				obj.value = (parseFloat(obj.value)).toFixed(2);
			}
		}else if(inputType=='number4'){
			if(obj.value != null && obj.value != ''){
				obj.value = (parseFloat(obj.value)).toFixed(4);
			}
		}else if(inputType =='percent'){
			var str = obj.value;
			if(str == '.'){
				str = 0;
			}else{
				if(str.charAt(0)=='.'){// 判断第一位是不是'.'
					str = '0'+str;
				}
			}
			if(str == null || str == ''){
				obj.value = '';
			}else if(str == '0'){
				obj.value = 0;
			}else if(str == '1'){
				obj.value = '100%'
			}else if(str.indexOf('%')>0){
				obj.value = str;
			}else{
				str = parseFloat(obj.value)*1000000/10000;
				obj.value = str+"%";
			}
		}
	}
}

/*******************************************************************************
 * 常用查询条件界面拼接
 ******************************************************************************/

// 图片上传V2.0.0
function openImgW(obj){
	var clnName = $(obj).parent().find('input').attr('quCln');
	var dsid = $(obj).attr('dsid');
	// 如果主键没值，则取消不可上传图片
	var pkValue = $('form[id*=_A_AFORM]').find('input[qucln='+eval("window.parent."+dsid+'_pk')+']').val();
	if(pkValue == null  || pkValue == ''){
		$.messager.alert("提示信息","单据没有保存,无法上传图片！","info");
		console.log("单据没有主键,无法上传图片！pkValue:"+pkValue);
		return;
	}
	$("#imgsCont").html('');
	if($("#imgsCont").html() == ""){
		if($('#imgClnName').val() == clnName){
			$("#imgsCont").html('');
			$("#imgsCont").load(_a_url+"upload/imgZ?dsId="+dsid+"&clnName="+clnName+"&pkValue="+pkValue,
					function(){
						openImgPage();
					});
		}else{
			$('#imgClnName').val(clnName);
			$("#imgsCont").load(_a_url+"upload/imgZ?dsId="+dsid+"&clnName="+clnName+"&pkValue="+pkValue,
					function(){
						openImgPage();
					});
		}
	} else{
		openImgPage();
	}
}


// 打开窗口调用方法 V2.0.0
function openImgPage(){
	$('#imagePage').panel('open');
	$('#imagePage').panel({
		left:0,
		top:0
	});
}

// 关闭窗口
function closePage(obj){
	$('#imagePage').panel('close');
}

// 确定按钮
function sureImg(root){
	var clnName = $('#imgClnName').val();
	var path="";
	var rPort = document.getElementsByName("default");
	if(rPort.length == 1){
		path=rPort[0].value;
		// 将图片框的图片和input框
		$("img[id='"+clnName+"']").attr('src',root+"/"+path);
		$("input[qucln='"+clnName+"']").val(path);
		$("input[qucln='"+clnName+"']").attr("chan","T");
	}else{
		for(i = 0;i < rPort.length; i++)
		{
			if(rPort[i].checked){
				path=rPort[i].value;
				// 将图片框的图片和input框
				$("img[id='"+clnName+"']").attr('src',root+"/"+path);
				$("input[qucln='"+clnName+"']").val(path);
				$("input[qucln='"+clnName+"']").attr("chan","T");
				break;
			}
		}
	}
	$('#imagePage').panel('close');
}

// 上传成功之后返回的方法
function upImgCback(msg,imgUrl,dsid,clnName,pkValue){      
	// document.getElementById("file").value == '';
	if(msg == '1'){
		$('#msg').html('上传成功');
	}else{
		$('#msg').html(''+msg);
	}
	$('#name').val('');
	$('#describe').val();
	$('#imageArea').html('');
	var DHTML = "";
	$.ajax({
		url:"/publishUI/upload/loadimg?dsId="+dsid+"&clnName="+clnName+"&pkValue="+pkValue,
		type:'GET',
		data:{},
		success:function(data){
			for(var i = 0; i < data.length; i ++){
				DHTML += "<div style=\"float: left; width: 163px;\">";
				DHTML += "<div>";
				DHTML += "<img width='159' height='216' alt='"+data[i].NAME+"' src='"+_a_url+data[i].PATH+"'>";
				DHTML += "</div>";
				DHTML += "<div>";
				DHTML += "<font class='nameSty'>"+data[i].NAME+"</font>";
				DHTML += "</div>";
				DHTML += "<div>";
				DHTML += "<font class='desSty'>"+data[i].DESCRIBE+"</font>";
				DHTML += "</div>";
				DHTML += "<div>";
				DHTML += "<input type=\"radio\" id='img"+i+"' name=\"default\" title=\"设为默认\" value='"+data[0].PATH+"'><label style=\"cursor: pointer;\" for='img"+i+"'>设为默认</label>";
				DHTML += "</div>";
				DHTML += "</div></div>";
			}
			$('#imageArea').html(DHTML);
			if(data.length == 1){
				sureImg(_a_url);
			}
		}
	});
}



// 被修改过的值
function chan(obj){
	$(obj).attr('chan','T');
}

// Info详情页面
function produceInfoPage(colData,divName,colNum){
	var columns = colData;
	var formTableObj = $("#"+divName+"");
	var tableHTML = "";
	var lineCount = 0;
	var lineCol = colNum;
	formTableObj.attr({ width:lineCol*270+"px"});
	var rootCount = [];
	var columnIdTmp = "";
	for ( var i = 0; i < columns.length; i++) {
		if (lineCount % lineCol == 0) {
			tableHTML += "<tr>";
		}
		if (columns[i].IS_PARENT_GROUP_ADD != null
				&& columns[i].IS_PARENT_GROUP_ADD == 'T') {
			if (lineCount % lineCol > 0) {
				tableHTML += "<td colspan='"
						+ ((lineCol - lineCount % lineCol) * 2)
						+ "'></td>"
			}
			tableHTML += "</tr><tr>";
			tableHTML += "<td class='group_title' colspan='"
					+ (lineCol * 2) + "'>==" + columns[i].COLN_NAME
					+ "==</td>";
			tableHTML += "</tr>";
			lineCount = 0;
			continue;
		}
		if (columns[i].IS_SHOW_ADD != 'F') {
			if(columns[i].HIDDEN_ADD =='T'){
				tableHTML += formatInfoInputObj(columns[i]);
			}else{
				if (columns[i].SINGLE_ROW_ADD == 'T') {
					if (lineCount % lineCol > 0) {
						tableHTML += "<td colspan='"
								+ ((lineCol - lineCount % lineCol) * 2)
								+ "'></td>"
					}
					tableHTML += "</tr><tr>";
					if(columns[i].REQUIRED_ADD == 'T'){
						tableHTML += "<td class='name_td_req'>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td' colspan='"
							+ (lineCol * 2 - 1) + "'>";
			    	}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td' colspan='"
							+ (lineCol * 2 - 1) + "'>";
					}
					tableHTML += formatInfoInputObj(columns[i]);
					tableHTML += "</td>";
					tableHTML += "</tr>";
					lineCount = 0;
				}else {
					if(columns[i].REQUIRED_ADD == 'T'){
						tableHTML += "<td class='name_td_req'>"
							+ columns[i].COLN_NAME + ":</td><td>";
					}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME + ":</td><td>";
					}
					tableHTML += formatInfoInputObj(columns[i]);
					tableHTML += "</td>";
					lineCount++;
					if (lineCount % lineCol == 0) {
						tableHTML += "</tr>";
					}
				}
			}
		}
	}
	formTableObj.html(tableHTML);
}

function formatInfoInputObj(clnObj) {
	var inpHTML = "";
	var inpType = clnObj.INPUTTYPE_ADD;
	var ediType = clnObj.EDITYPE_ADD;
	if(ediType == null || ediType == '')ediType='000';
	var properName = "";
	var javaClass = clnObj.JAVA_CLASS;
	var javaProperty = clnObj.JAVA_PROPERTY;
	if (javaClass != null || javaProperty != null
			|| javaClass != "" || javaProperty != "") {
		if (javaClass != null && javaProperty != null
				&& javaClass != "" && javaProperty != "") {
			properName = "name='" + javaClass + "."
					+ javaProperty + "'"
		}
		if ((javaClass == null || javaClass == "")
				&& (javaProperty != null && javaProperty != "")) {
			properName = "name='" + javaProperty + "'"
		}
	}
	var openLoadSameStr = "";
	
	var width = clnObj.WIDTH_ADD;
	
	if (inpType == 'datalist') {
		width = width -20;
	}
	if ((clnObj.WIDTH_ADD != null || clnObj.WIDTH_ADD != 'null' ) && clnObj.WIDTH_ADD > 0) {
		width = "width:" + width + "px;"
	} else {
		width = "width:155px;"
	}
	var height = clnObj.HEIGHT_ADD;
	if ((height != null || height != 'null') && height > 0) {
		height = "height:" + height + "px;"
	} else {
		height = ""
	}
	
	var properties = properName + " " + openLoadSameStr  +" class=\'ainit-input\' ";
	// 只读
	if(clnObj.READONLY_ADD != null && clnObj.READONLY_ADD == 'T'){
		properties += " nowrite=true "; // readonly=true
	}else{
		properties += " nowrite=false " // readonly=false
	}
	// 必须
	if( clnObj.REQUIRED_ADD != null && clnObj.REQUIRED_ADD == 'T'){
		properties += " areq=true ";
	}
	// 查询条件
	if(clnObj.JAVA_PROPERTY_RECORDED != null && clnObj.JAVA_PROPERTY_RECORDED != ''){
		properties += " quCln="+clnObj.JAVA_PROPERTY_RECORDED+" ";  // 无需填充
	}
	properties += " coluname="+clnObj.NAME+" ";
	
	// 审核需要的字段
	if(clnObj.IS_PK_ADD != null && clnObj.IS_PK_ADD != 'T'){
		properties += " vpk='T'";  // 无需填充
	}
	
	if(clnObj.YUAN_DS_ID != null&&clnObj.YUAN_DS_ID!='' ){
		properties +=" ydsid = '"+clnObj.YUAN_DS_ID +"' ";
	}
	if(clnObj.IS_COPY!=null&&clnObj.IS_COPY!=''){
		properties +=" isCopy = '"+clnObj.IS_COPY+"' ";
	}
	if(inpType != null && inpType != '')properties += " eletype="+inpType+" ";
	switch (inpType) {
	case "password":
		if(clnObj.HIDDEN_ADD == 'T'){
			inpHTML ="<input " + properties + " type=\"hidden\" style='" + width+ height + "'/>";
		}else{
			inpHTML ="<input " + properties + " type=\"password\" style='" + width+ height + "'/>";
		}
		break;
	case "file":
		if(clnObj.HIDDEN_ADD == 'T'){
			inpHTML ="<input " + properties + " type=\"hidden\" style='" + width+ height + "'/>";
		}else {
			inpHTML ="<input " + properties + " type=\"file\" style='" + width+ height + "'/>";
		}
		break;
	case "radio":
		if(clnObj.HIDDEN_ADD == 'T'){
			inpHTML ="<input " + properties + " type=\"hidden\" style='" + width+ height + "'/>";
		}else {
			inpHTML ="<input " + properties + " type=\"radio\" style='" + width+ height + "'/>";
		}
		break;
	case "checkbox":
		if(clnObj.HIDDEN_ADD == 'T'){
			inpHTML ="<input " + properties + " type=\"hidden\" style='" + width+ height + "'/>";
		}else{
			inpHTML ="<input " + properties + " type=\"checkbox\" style='" + width+ height + "'/>";
		}
		break;
	case "email":   
			inpHTML ="<input " + properties + " id=\"email\" style='" + width+ height + "' onblur=\"checkNum(this)\"/>";
		break;
	case "select":
			inpHTML = "<select class='ainit-select' " + properties + " style='" + width + height 
				+ "' ediType='"+ediType+"' onmouseover=\"loadData(this,'"+ediType+"','')\" onfocus=\"loadData(this,'"+ediType+"','')\"></select>";
		break;
	case "textarea":
		inpHTML = "<textarea " + properties +  " style='"+ width+ height+ "' class='ainit-textarea'></textarea>";
		break;
	case "integer":
		inpHTML = "<input " + properties + " id=\"intnum\" style='" + width
				+ height + "' onkeydown='GetInput()'/>";
		break;
	case "number":
		inpHTML = "<input " + properties + " id=\"number\" style='" + width
				+ height + "' onkeyup='clearNoNum(event,this)' />";
		break;
	case "datetime":
		inpHTML = "<input dateformat=\'datetime\' "+ properties+ " style='"+ width+ height+ "' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"/>";
		break;
	case "date":
		inpHTML = "<input  dateformat=\'date\' " + properties + " style='" + width + height
				+ "' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd'})\" readonly=\"readonly\"/>";
		break;
	case "time":
		inpHTML = "<input  dateformat=\'time\' " + properties + " style='" + width + height
				+ "' onclick=\"WdatePicker({dateFmt:'HH:mm:ss'})\" readonly=\"readonly\"/>";
		break;
	case "datalist":
		inpHTML = "<input " + properties + " style='" + width + height
				+"' ediType='"+ediType+"'  onClick=\"showDataList(this,1,'','')\" formatfunc='"+clnObj.FORMAT_CONT+"' relationfun='"+clnObj.RELATION_FUNC+"'></input>";
		break;
	default:
		if(clnObj.HIDDEN_ADD == 'T'){
			inpHTML = "<input class='ainit-input'  type='hidden' " + properties + " style='" + width + height
			+ "'/>";
		}else{
			inpHTML = "<input class='ainit-input'  type='text'" + properties + " style='" + width + height
			+ "'/>";
		}
	}
	return inpHTML;
}





/*******************************************************************************
 * 常用条件查询界面
 * @param colData
 * @param divName
 * @param colNum
 * @return
 */
function produceUQPage(colData,divName,colNum){
	var columns = colData;
	var formTableObj = $("#"+divName+"");
	var allHTML = "<table><tr><td>";
	var tableHTML = "<table class='tableBord'><tr>";
	var lineCount = 0;
	var lineCol = colNum;
	var index = 1;
	for ( var i = 0; i < columns.length; i++) {
		var wq=columns[i].WIDTH_QR;   
		if(columns[i].COMMON_USE == 'T'){
			if (columns[i].IS_SHOW_QR != 'F') {
				if(columns[i].HIDDEN_QR =='T'){
					allHTML += formatUQRInputObj(columns[i],index);
				}else{
					tableHTML += "<td class='name_tdQ' >"+ columns[i].COLN_NAME + ":</td>";
					var comclass="cominput_td";
					if(columns[i].INPUTTYPE_QR=="date"){
						comclass="cominput_td_time";
						if(wq==null&&wq==undefined||wq==""){
							wq=200;
						}
					}
					if(wq!=null&&wq!=undefined&&wq!=""){
						tableHTML += "<td class='"+comclass+"'  style='width:"+wq+"px !important;'   >";
					}else{
						tableHTML += "<td class='"+comclass+"'    >";
					}
					tableHTML += formatUQRInputObj(columns[i],index);
					tableHTML += "</td>";
					lineCount++;
					if ((lineCount % lineCol == 0)) {
						tableHTML += "</tr>";
					}
				}
			}
		}
		index +=1;
	}
	allHTML +=  tableHTML;
	if (lineCount % lineCol > 0) {
		allHTML += "<td  colspan='"
				+ ((lineCol - lineCount % lineCol) * 2)
				+ "'></td>"
	}else{
		allHTML += "</td>";
	}
	allHTML += "</tr></table>";
	formTableObj.html(allHTML);
	
	//和时间控件同一列的所有td中的内容加长
	var indexArr=new Array();
	$($(formTableObj).find("table[class='tableBord']")[0]).find("tr").map(function() {
		var tr=$(this);
		var index=0;
		$(tr).find("td").map(function(){
			if($(this).attr("class")=='cominput_td_time'){
				console.log($(this));
				indexArr.push(index);
			}
			index++;
		});
     });
	indexArr=unique(indexArr);
	for(var i=0;i<indexArr.length;i++){
		$($(formTableObj).find("table[class='tableBord']")[0]).find("tr").map(function() {
			var obj=$(this).find("td:eq("+indexArr[i]+")");
			obj.css("width","200px");
			if(obj.attr("class")!='cominput_td_time'){
				$(obj).find("input[class=ainit-input]").css("width","160px");
				$(obj).find("select[class=ainit-select]").css("width","179px");
				$(obj).find("textarea[class=ainit-input]").css("width","179px");
				$(obj).find("input[dgs=true]").css("width","180px")
			}
		});
	}
	
	
	// 定位光标到第一个框
	$($(formTableObj).find('input[type!=hidden]')[0]).focus();
}

//ashtable的结构记录已有的元素,这样就可以避免内层循环  高效去除数组中的重复的值
function unique(arr) {
    var result = [], hash = {};
    for (var i = 0, elem; (elem = arr[i]) != null; i++) {
        if (!hash[elem]) {
            result.push(elem);
            hash[elem] = true;
        }
    }
    return result;
}

function ReplaceAll(str, sptr, sptr1){
    while (str.indexOf(sptr) >= 0){
       str = str.replace(sptr, sptr1);
    }
    return str;
}




/*******************************************************************************
 * 常用查询条件界面拼接
 ******************************************************************************/
function formatUQRInputObj(clnObj,index) {
	var inpHTML = "";    
	if(clnObj.HIDDEN_QR != null && clnObj.HIDDEN_QR == 'T'){
		inpHTML ="";
		return inpHTML;
	}else{
		 /*******************************************************************
			 * 非隐藏的字段返回的html拼接
		 ********************************************************************/	 
		var colName=clnObj.COLN_NAME;
		var inpType = clnObj.INPUTTYPE_QR;
		var ediType = clnObj.EDITYPE_QR;
		var qucln=clnObj.JAVA_PROPERTY_RECORDED; 
		var isPkQr=clnObj.IS_PK_QR;
		var requiredQr=clnObj.REQUIRED_QR;
		var autoQr=clnObj.AUTO_QR;
		var sm=clnObj.SINGLE_MORE;  
		var modelType=clnObj.MODEL_TYPE;  
		var mulSameDsId=clnObj.MULTI_SAME_DS_ID;
		var yuanDsId=clnObj.YUAN_DS_ID;
		var dataListFunc_m=clnObj.MULTI_RETURN_FUNC;   // 一对多弹框的回调函数
		var dataListFunc_s=clnObj.DATALISTFUNC;        // 普通弹框的回调函数
		var dataListFilter=clnObj.DATALIST_FILTER;   // 一弹框控件数据的过滤字段
		var dgW=clnObj.DG_WIDTH;						// 弹框的宽度
		var dgH=clnObj.DG_HEIGHT;						// 弹框的高度
		var formatfunc=clnObj.FORMAT_CONT   
		var relationFunc=clnObj.RELATION_FUNC;    // 拉取函数
		var multidsid=clnObj.MULTI_DZ_DS_ID;   
		var dsId=clnObj.DS_ID;
		var width = clnObj.WIDTH_QR;   
		var height=clnObj.HEIGHT_QR;
		var name=clnObj.JAVA_PROPERTY;
		var inpTypeAdd = clnObj.INPUTTYPE_ADD;    // 用于判断输入框所对应的字段在后台存储的值是转译编码还是实际的值
		var isDefaultValQr=clnObj.DEFAULT_VALUE_QR;   // 条件查询页面的默认值
		
		if (inpType == 'datalist') {
			width = width -20;
		}
		if (inpType == 'number') {
			width = width/2 -10;
		}
		if ((clnObj.WIDTH_QR != null || clnObj.WIDTH_QR != 'null' || clnObj.WIDTH_QR !='') && clnObj.WIDTH_QR>0 &&  clnObj.WIDTH_QR < 120) {
			width = "width:" + width + "px;"
		} else {
			width = "width:120px;"
		}
		var height = clnObj.HEIGHT_QR;
		if ((height != null || height != 'null') && height > 0) {
			height = "height:" + height + "px;"
		} else {
			height = ""
		}
		var properties = " class=\'ainit-input\' ";
		properties += " name="+name+" ";  
		if(qucln != null || qucln != 'null'){
			properties += " quCln="+qucln+" ";  
		}else{
			$.messager.alert("配置提示",colName+"的JAVA_PROPERTY_RECORDED没有配置")
		}
		
		if(isDefaultValQr!=null&&isDefaultValQr!=""){
			properties += " isDefaultValQr=T";  
		}else{
			properties += " isDefaultValQr=F";  
		}
		if(isPkQr != null && isPkQr != 'T'){
			properties += " vpk='T'";  
		}
		// 必须
		if( requiredQr!= null && requiredQr == 'T'){
			properties += " areq=true ";
		}
		// 自动填充
		if( autoQr!= null &&autoQr == 'T'){
			properties += " rauto='true' ";
		}
		// 文本框的类型
		if(inpType != null && inpType != ''){
			properties += " eletype="+inpType+" ";
		}
		properties += " onchange=chanUQR(this,'1') "; // v1.0 chan(this) v2.0
														// chanUQR(this,1)//
														// 1代表是常用查询条件
		
		switch (inpType) {
		case "password":
			inpHTML ="<input " + properties + "  type=\"password\" style='" + width+ height + "'/>";
			break;
		case "file":
			inpHTML ="<input " + properties + " type=\"file\" style='" + width+ height + "'/>";
			break;
		case "radio":
			inpHTML ="<input " + properties + " type=\"radio\" style='" + width+ height + "'/>";
			break;
		case "checkbox":
			inpHTML ="<input " + properties + " type=\"checkbox\" style='" + width+ height + "'/>";
			break;
		case "email":   
				inpHTML ="<input " + properties + " id=\"email\" style='" + width+ height + "' onblur=\"checkNum(this)\"/>";
			break;
		case "select":
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("配置提示",colName+"列的ediType没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的formatfunc没有配置");
			}
			inpHTML = "<select  onkeydown='if(event.keyCode==13) enterFquery(this,1);'  class='ainit-select' " + properties + " style='" + width + height + "'></select>";
			break;
		case "textarea":
			inpHTML = "<textarea " + properties +  " style='"+ width+ height+ "' class='ainit-textarea'></textarea>";
			break;
		case "integer":
			inpHTML = "<input " + properties + " style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,1)}else{GetInput()};' />" +
					"<span style='float:left'>至</span>"+
					// chanUQTime 用于同步多条件查询框
					"<input onchange='chanUQTime(this,1)' onkeydown='if(event.keyCode==13){enterFquery(this,1)}else{GetInput()};'    num='true' class='ainit-input' style='width:60px;text-align:center;' />";
			break;
		case "number":
			inpHTML = "<input " + properties + " style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,1)}else{clearNoNum(event,this)};' />" +
					"<span style='float:left'>至</span>"+
					"<input onchange='chanUQTime(this,1)' onkeydown='if(event.keyCode==13){enterFquery(this,1)}else{clearNoNum(event,this)};'  num='true' class='ainit-input' style='width:60px;text-align:center;' />";
			break;
		case "datetime":
			inpHTML = "<input dateformat=\'datetime\' "+ properties+ " style='width:60px;' onkeydown='if(event.keyCode==13) enterFquery(this,1);'  onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"/>" +
					"<span style='float:left'>至</span>"+
					"<input onchange='chanUQTime(this,1)' onkeydown='if(event.keyCode==13) enterFquery(this,1);'  dateformat=\'datetime\' class='ainit-input' da='true'  style='width:60px;text-align:center;' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"/>"+
					"<span dgc='true' class='ainit-date' onClick=\"showDate(this,1)\" >&nbsp;</span>";
			break;
		case "date":
			  var key1= "cyQFirst"+index;
			  var key2= "cyQLast"+index;
			inpHTML ="<input id='"+key1+"'  dateformat=\'date\' " + properties + "  style='width:72px;' onkeydown='if(event.keyCode==13) enterFquery(this,1);'   onclick=\"WdatePicker({maxDate:'#F{$dp.$D(\\'"+key2+"\\')}'})\" readonly=\"readonly\"/>" +
					"   <span style='float:left'>至</span>"+
					"<input id='"+key2+"' onchange='chanUQTime(this,1)'    onkeydown='if(event.keyCode==13) enterFquery(this,1);'   dateformat=\'date\' class='ainit-input' da='true'  style='width:72px;text-align:center;' onclick=\"WdatePicker({minDate:'#F{$dp.$D(\\'"+key1+"\\')}'})\" readonly=\"readonly\"/>"+
					"<span dgc='true' class='ainit-date' onClick=\"showDate(this,2)\" >&nbsp;</span>";
			break;
		case "time":
			inpHTML = 	"<input  dateformat=\'time\' " + properties + "  style='width:60px;'   onkeydown='if(event.keyCode==13) enterFquery(this,1);' onclick=\"WdatePicker({dateFmt:'HH:mm:ss'})\" readonly=\"readonly\"/>" +
						"<span style='float:left'>至</span>"+
						"<input  onchange='chanUQTime(this,1)'   onkeydown='if(event.keyCode==13) enterFquery(this,1);'  dateformat=\'time\' class='ainit-input'  da='true'  style='width:60px;text-align:center;' onclick=\"WdatePicker({dateFmt:'HH:mm:ss'})\" readonly=\"readonly\"/>"+
						"  <span dgc='true' class='ainit-date' onClick=\"showDate(this,3)\" >&nbsp;</span>";
			break;
		case "datalist":
			var mulInpHTML="";  // 存一对弹框的编码
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("多条件查询配置提示",colName+"列的ediType没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的formatfunc没有配置");
			}
			if(relationFunc!=null&&relationFunc!=""){
				properties += " relationFunc='"+relationFunc+"'";
			}
			if(sm!=null && sm =="T"){// 单选
				properties += " sm=true";
			}else{  // 多选的时候一定都保存在第三张表中
				if(dsId!=null&&dsId!=""){
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
				properties += " sm=false";
				mulInpHTML="<input class=\"ainit-input\"  ismulcode=\"T\"  type=\"hidden\"/>"
			}
			if(modelType!= null&&modelType!='' ){
				properties +=" modelType = '"+modelType +"' ";
			}else{
				$.messager.alert("配置提示",colName+"的modelType没有配置");
			}
			if(dataListFunc_m!= null&&dataListFunc_m!='' ){
				properties +=" dataListFunc_m = '"+dataListFunc_m +"' ";
			}
			if(dataListFunc_s!= null&&dataListFunc_s!='' ){
				properties +=" dataListFunc_s = '"+dataListFunc_s +"' ";
			}
			if(multidsid!=null&&multidsid!=""){
				properties +=" multidsid = '"+multidsid +"' ";
			}
			if(mulSameDsId!=null&&mulSameDsId!=""){
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}else{
				mulSameDsId="";
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}
			if(dataListFilter!=null&&dataListFilter!=""){
				properties +=" dataListFilter = '"+dataListFilter +"' ";
			}
			if(dgW!=null&&dgW!=""){			// 弹框的宽度
				properties +=" dgW = '"+dgW +"' ";
			}else{
				properties +=" dgW =620";
			}
			if(dgH!=null&&dgH!=""){			// 弹框的高度
				properties +=" dgH = '"+dgH +"' ";
			}else{
				properties +=" dgH =365";
			}
			inpHTML = "<input " + properties + " style='" + width + height+"' type='hidden' ></input>" +   
			"<input  readonly='readonly' onkeydown='if(event.keyCode==13) enterFquery(this,1);' class='ainit-input ainit-dl' style=' cursor: pointer;" + width + height+"' onclick=\"showModelData(this)\" dgs='true'></input>"+mulInpHTML; 
			break;
		default:
			// （常用查询条件）为了控制界面的样式
			// addET 是对照信息的Id
			if(inpTypeAdd == 'datalist' || inpTypeAdd == 'select'){
				if(dsId!=null&&dsId!=""){
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
				if(ediType!=null&&ediType!=""){
					properties +=" addET = '"+ediType+"' ";
					if(inpTypeAdd == 'datalist'){
						properties += " inpTypeAdd=\"datalist\"  ";
						// 用于确定用哪种查询方式
						if(sm!=null && sm =="T"){// 单选
							properties += " sm=true  ";
						}else{  // 多选的时候一定都保存在第三张表中
							properties += " sm=false ";
						}
					}
				}else{
					$.messager.alert("多条件查询配置提示",colName+"列的ediType_qr没有配置");
					ediType='000';
				}
			}
			width = "width:90px;"
			inpHTML = "<input  class='ainit-input'  type='text'" + properties + " style='" + width + height
			+ "' onkeydown='if(event.keyCode==13) enterFquery(this,1);'/><span mh='true' co='inc' title='包含' class='ainit-mh' onClick=\"sameConfig(this,'1','"+dsId+"')\">%%</span>";// onClick=\"sameConfig(this,'1','"+dsId+"')\"
		}
		return inpHTML;
	}
}




/*******************************************************************************
 * 多条件查询拼接界面的现方法
 ******************************************************************************/
function produceQRPage(colData,divName,colNum){
	var columns = colData;
	var formTableObj = $("#"+divName+"");
	var allHTML = "<table><tr><td>";
	var tableHTML = "<table  class='tableBord'><tr>";
	
	var lineCount = 0;
	var lineCol = colNum;
	var fidFlag = 0;// 控制是否有分块
	var groupName = "";
	
	var rootCount = [];
	var columnIdTmp = "";
	var index = 1;
	for ( var i = 0; i < columns.length; i++) {
		if(columns[i].NEW_LINE_QR == 'T'){
			if (lineCount % lineCol > 0) {
				tableHTML += "<td class='input_td_qr' colspan='"
						+ ((lineCol - lineCount % lineCol) * 2)
						+ "'></td>"
						tableHTML += "</tr><tr>";
			}
			lineCount = 0;
		}
		
		if (columns[i].IS_PARENT_GROUP_QR != null
				&& columns[i].IS_PARENT_GROUP_QR == 'T') {
			if (lineCount % lineCol > 0) {
				tableHTML += "<td colspan='"
						+ ((lineCol - lineCount % lineCol) * 2)
						+ "'></td></tr>"
			}
			tableHTML += "</table>";
			if(fidFlag == 1){
				allHTML += formatField(groupName,tableHTML);
				allHTML += "</td></tr><tr><td>";
			}else{
				allHTML += tableHTML;
			}
			tableHTML = "<table class='tableBord'><tr>";
			groupName = columns[i].COLN_NAME;
			lineCount = 0;
			fidFlag = 1;
			continue;
		}
		if (columns[i].IS_SHOW_QR != 'F') {
			if(columns[i].HIDDEN_QR =='T'){
				allHTML += formatQRInputObj(columns[i],index);
			}else{
				
				if (columns[i].SINGLE_ROW_QR == 'T') {
					if (lineCount % lineCol > 0) {
						tableHTML += "<td class='input_td_qr' colspan='"
								+ ((lineCol - lineCount % lineCol) * 2)
								+ "'></td>"
								tableHTML += "</tr><tr>";
					}
					if(columns[i].REQUIRED_QR == 'T'){
						tableHTML += "<td class='name_td_req'>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td_qr' colspan='"
							+ (lineCol * 2 - 1) + "'>";
			    	}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME
							+ ":</td><td class='input_td_co' colspan='"
							+ (lineCol * 2 - 1) + "'>";
					}
					tableHTML += formatQRInputObj(columns[i],index);
					tableHTML += "</td>";
					tableHTML += "</tr>";
					lineCount = 0;
				}else {
					if(columns[i].REQUIRED_QR == 'T'){
						tableHTML += "<td class='name_td_req'>"
							+ columns[i].COLN_NAME + ":</td><td class='input_td_qr'>";
					}else{
						tableHTML += "<td class='name_td'>"
							+ columns[i].COLN_NAME + ":</td><td class='input_td_qr'>";
					}
					tableHTML += formatQRInputObj(columns[i],index);
					tableHTML += "</td>";
					lineCount++;
					if (lineCount % lineCol == 0) {
						tableHTML += "</tr>";
					}
				}
			}
		}
		index+=1;
	}
	if(fidFlag == 1){
		allHTML += formatField(groupName,tableHTML);
		allHTML += "</td></tr></table>";
	}else{
		allHTML +=  tableHTML;
		allHTML += "</td></tr></table>";
	}
	formTableObj.html(allHTML);
}



/*******************************************************************************
 * 多条件查询拼接界面的现方法
 ******************************************************************************/
function formatQRInputObj(clnObj,index) {
	var inpHTML = "";    
	if(clnObj.HIDDEN_QR != null && clnObj.HIDDEN_QR == 'T'){
		inpHTML ="";
		return inpHTML;
	}else{
		 /*******************************************************************
			 * 非隐藏的字段返回的html拼接
			 */
		var colName=clnObj.COLN_NAME;
		var inpType = clnObj.INPUTTYPE_QR;
		var ediType = clnObj.EDITYPE_QR;
		var qucln=clnObj.JAVA_PROPERTY_RECORDED; 
		var isPkQr=clnObj.IS_PK_QR;
		var requiredQr=clnObj.REQUIRED_QR;
		var autoQr=clnObj.AUTO_QR;
		var sm=clnObj.SINGLE_MORE;  
		var modelType=clnObj.MODEL_TYPE;  
		var mulSameDsId=clnObj.MULTI_SAME_DS_ID;
		var yuanDsId=clnObj.YUAN_DS_ID;
		var dataListFunc_m=clnObj.MULTI_RETURN_FUNC;   // 一对多弹框的回调函数
		var dataListFunc_s=clnObj.DATALISTFUNC;        // 普通弹框的回调函数
		var dataListFilter=clnObj.DATALIST_FILTER;   // 一弹框控件数据的过滤字段
		var dgW=clnObj.DG_WIDTH;						// 弹框的宽度
		var dgH=clnObj.DG_HEIGHT;						// 弹框的高度
		var formatfunc=clnObj.FORMAT_CONT   
		var relationFunc=clnObj.RELATION_FUNC;   // 拉取函数
		var multidsid=clnObj.MULTI_DZ_DS_ID;   
		var dsId=clnObj.DS_ID;
		var width = clnObj.WIDTH_QR;   
		var height=clnObj.HEIGHT_QR;
		var name=clnObj.JAVA_PROPERTY;
		var inpTypeAdd = clnObj.INPUTTYPE_ADD;    // 用于判断输入框所对应的字段在后台存储的值是转译编码还是实际的值
		var isDefaultValQr=clnObj.DEFAULT_VALUE_QR;   // 多条件查询页面的默认值
		
		var properties = " class=\'ainit-input\' ";
		
		if(qucln!=null&&qucln!=""){
			properties += " quCln="+qucln+" ";  
		}else{
			$.messager.alert("配置提示",colName+"的JAVA_PROPERTY_RECORDED")
		}
		
		if(isDefaultValQr!=null&&isDefaultValQr!=""){
			properties += " isDefaultValQr=T";  
		}else{
			properties += " isDefaultValQr=F";  
		}
		
		if(name!=null&&name!=""){
			properties+= " name="+name;
		}
		
		if (inpType == 'datalist') {
			width = width -20;
		}
		if (inpType == 'number') {
			width = width/2 -10;
		}
		if ((clnObj.WIDTH_QR != null || clnObj.WIDTH_QR != 'null' ) && clnObj.WIDTH_QR > 0) {
			width = "width:" + width + "px;"
		} else {
			width = "width:180px;"
		}
		var height = clnObj.HEIGHT_QR;
		if ((height != null || height != 'null') && height > 0) {
			height = "height:" + height + "px;"
		} else {
			height = ""
		}
		if(isPkQr != null && isPkQr != 'T'){
			properties += " vpk='T'";  
		}
		// 必须
		if( requiredQr!= null && requiredQr == 'T'){
			properties += " areq=true ";
		}
		// 自动填充
		if( autoQr!= null &&autoQr == 'T'){
			properties += " rauto='true' ";
		}
		// 文本框的类型
		if(inpType != null && inpType != ''){
			properties += " eletype="+inpType+" ";
		}
		properties += " onchange=chanUQR(this,'2') ";// v1.0 chan(this) v2.0
														// chanUQR(this,2)//
														// 2代表是多条件查询界面
		switch (inpType) {
		case "password":
			inpHTML ="<input " + properties + " type=\"password\" style='" + width+ height + "'/>";
			break;
		case "file":
			inpHTML ="<input " + properties + " type=\"file\" style='" + width+ height + "'/>";
			break;
		case "radio":
			inpHTML ="<input " + properties + " type=\"radio\" style='" + width+ height + "'/>";
			break;
		case "checkbox":
			inpHTML ="<input " + properties + " type=\"checkbox\" style='" + width+ height + "'/>";
			break;
		case "email":   
				inpHTML ="<input " + properties + " id=\"email\" style='" + width+ height + "' onblur=\"checkNum(this)\"/>";
			break;
		case "select":
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("多条件查询配置提示",colName+"列的ediType_qr没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的FORMAT_CONT没有配置");
			}
			inpHTML = "<select class='ainit-select' onkeydown='if(event.keyCode==13) enterFquery(this,2);' "  + properties + " style='" + width + height +"'></select>";
			break;
		case "textarea":
			inpHTML = "<textarea " + properties +  " style='"+ width+ height+ "' class='ainit-textarea'></textarea>";
			break;
		case "integer":
			inpHTML = "<input " + properties + " style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,2)}else{GetInput()};' />" +
					"<span style='float:left'>至</span>"+
					"<input num='true' class='ainit-input' style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,2)}else{GetInput()};'/>";
			break;
		case "number":
			inpHTML = "<input " + properties + " style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,2)}else{clearNoNum(event,this)};' />" +
					"<span style='float:left'>至</span>"+
					"<input onchange='chanUQTime(this,2)'  num='true' class='ainit-input' style='width:60px;text-align:center;' onkeydown='if(event.keyCode==13){enterFquery(this,2)}else{clearNoNum(event,this)};'/>";
			break;
		case "datetime":
			inpHTML = "<input dateformat=\'datetime\' "+ properties+ " style='width:60px;' onkeydown='if(event.keyCode==13) enterFquery(this,2);' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"/>" +
					"<span style='float:left'>至</span>"+
					"<input onchange='chanUQTime(this,2)' onkeydown='if(event.keyCode==13) enterFquery(this,2);' dateformat=\'datetime\' class='ainit-input' da='true'  style='width:60px;text-align:center;' onclick=\"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})\"/>"+
					"<span dgc='true' class='ainit-date' onClick=\"showDate(this,1)\" >&nbsp;</span>";
			break;
		case "date":
			var key1= "mqrFirst"+index;
			var key2= "mqrLast"+index;
			inpHTML ="<input id='"+key1+"'  dateformat=\'date\' " + properties + "  style='width:72px;' onfocus=\"WdatePicker({maxDate:'#F{$dp.$D(\\'"+key2+"\\')}'})\" onkeydown='if(event.keyCode==13) enterFquery(this,2);' readonly=\"readonly\"/>" +
					"<span style='float:left'>至</span>"+
					"<input id='"+key2+"' onchange='chanUQTime(this,2)' onkeydown='if(event.keyCode==13) enterFquery(this,2);'   dateformat=\'date\' class='ainit-input' da='true'  style='width:72px;text-align:center;' onfocus=\"WdatePicker({minDate:'#F{$dp.$D(\\'"+key1+"\\')}'})\" readonly=\"readonly\"/>"+
					"<span dgc='true' class='ainit-date' onClick=\"showDate(this,2)\" >&nbsp;</span>";
			break;
		case "time":
			inpHTML = 	"<input  dateformat=\'time\' " + properties + "  style='width:60px;' onkeydown='if(event.keyCode==13) enterFquery(this,2);' onfocus=\"WdatePicker({dateFmt:'HH:mm:ss'})\" readonly=\"readonly\"/>" +
						"<span style='float:left'>至</span>"+
						"<input onchange='chanUQTime(this,2)'   dateformat=\'time\' class='ainit-input'  da='true'  onkeydown='if(event.keyCode==13) enterFquery(this,2);' style='width:60px;text-align:center;' onfocus=\"WdatePicker({dateFmt:'HH:mm:ss'})\" readonly=\"readonly\"/>"+
						"<span dgc='true' class='ainit-date' onClick=\"showDate(this,3)\" >&nbsp;</span>";
			break;
		case "datalist":
			var mulInpHTML="";  // 存一对弹框的编码
			if(ediType!=null&&ediType!=""){
				properties += " ediType='"+ediType+"'";
			}else{
				$.messager.alert("多条件查询配置提示",colName+"列的ediType_qr没有配置");
				ediType='000';
			}
			if(formatfunc!=null&&formatfunc!=""){
				properties += " formatfunc='"+formatfunc+"'";
			}else{
				$.messager.alert("配置提示",colName+"的FORMAT_CONT没有配置");
			}
			if(relationFunc!=null&&relationFunc!=""){
				properties += " relationFunc='"+relationFunc+"'";
			}
			if(sm!=null && sm =="T"){// 单选
				properties += " sm=true";
			}else{  // 多选的时候一定都保存在第三张表中
				if(dsId!=null&&dsId!=""){
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
				properties += " sm=false";
				mulInpHTML="<input class=\"ainit-input\"  ismulcode=\"T\"  type=\"hidden\"/>"
			}
			if(modelType!= null&&modelType!='' ){
				properties +=" modelType = '"+modelType +"' ";
			}else{
				$.messager.alert("配置提示",colName+"的modelType没有配置");
			}
			if(dataListFunc_s!= null&&dataListFunc_s!='' ){
				properties +=" dataListFunc_s = '"+dataListFunc_s +"' ";
			}
			if(dataListFunc_m!= null&&dataListFunc_m!='' ){
				properties +=" dataListFunc_m = '"+dataListFunc_m +"' ";
			}
			if(multidsid!=null&&multidsid!=""){
				properties +=" multidsid = '"+multidsid +"' ";
			}
			if(mulSameDsId!=null&&mulSameDsId!=""){
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}else{
				mulSameDsId="";
				properties +=" mulSameDsId = '"+mulSameDsId +"' ";
			}
			if(dataListFilter!=null&&dataListFilter!=""){
				properties += " dataListFilter='"+dataListFilter+"'";
			}
			if(dgW!=null&&dgW!=""){			// 弹框的宽度
				properties +=" dgW = '"+dgW +"' ";
			}else{
				properties +=" dgW =620";
			}
			if(dgH!=null&&dgH!=""){			// 弹框的高度
				properties +=" dgH = '"+dgH +"' ";
			}else{
				properties +=" dgH =365";
			}
			inpHTML = "<input " + properties + " style='" + width + height+"' type='hidden' ></input>" +
			"<input  readonly='readonly' class='ainit-input ainit-dl' onkeydown='if(event.keyCode==13) enterFquery(this,2);' style=' cursor: pointer;" + width + height+"' onclick=\"showModelData(this)\" dgs='true'></input>"+mulInpHTML; // onkeydown=
																																																											// \"if(event.keyCode==13){showDataList(this,2)}\"
			break;
		default:
			// （多条件查询）为了控制界面的样式
			// addET 是对照信息的Id
			if(inpTypeAdd == 'datalist' || inpTypeAdd == 'select'){
				if(dsId!=null&&dsId!=""){
					properties += " dsid='"+dsId+"'";
				}else{
					$.messager.alert("配置提示",colName+"的dsId没有配置");
				}
				if(ediType!=null&&ediType!=""){
					properties +=" addET = '"+ediType+"' ";
					if(inpTypeAdd == 'datalist'){
						properties += " inpTypeAdd=\"datalist\"  ";
						// 用于确定用哪种查询方式
						if(sm!=null && sm =="T"){// 单选
							properties += " sm=true";
						}else{  // 多选的时候一定都保存在第三张表中
							properties += " sm=false ";
						}
					}
				}else{
					$.messager.alert("多条件查询配置提示",colName+"列的ediType_qr没有配置");
					ediType='000';
				}
			}
			width = "width:160px;"
			inpHTML = "<input  class='ainit-input'  type='text'" + properties + " style='" + width + height
			+ "' onkeydown='if(event.keyCode==13) enterFquery(this,2);'/><span mh='true' co='inc' title='包含' class='ainit-mh' onClick=\"sameConfig(this,'2','"+dsId+"')\" >%%</span>";// onClick=\"sameConfig(this,'2','"+dsId+"')\"
		}
		return inpHTML;
	}
}



/**
 * 回车事件
 * @param obj
 * @return
 */
function enterFquery(obj,flag){
	chanUQR(obj,flag);
	if(flag=="3"||flag=='4'){   //多tab报表的查询fxs_QR_BUT
		var bobj = $('a[code$=_QR_BUT]')[0];   //触发查询按钮的事件
		_mrt_query(bobj)
	}else{     
		var bobj = $('a[id$=QUERY_BUT]')[0];   //触发查询按钮的事件//常用界面的查询条件
		_f_bquery(bobj);
	}
}

function uploadImage(obj){
	$('#imageWin').panel('open');
	$('#imageWin').panel({
		left:20,
		top:20
	});
}
// 插入图片
function insImg(root,path){
	// 将图片框的图片和input框
	$("img[id='BOOK_SHOW']").attr('src',root+path);
	console.log($("input[qucln='BOOK_SHOW']"));
	$("input[qucln='BOOK_SHOW']").val(path);
	$("input[qucln='BOOK_SHOW']").attr("chan","T");
	$('#imageWin').panel('close');
}

// 关闭图片窗口
function closeImgWin(obj){
	$('#imageWin').panel('close');
}


// 被修改过的值
function chan(obj){
	$(obj).attr('chan','T');
}


// 目前没有用到
function showDate(obj,numb){
	if(numb == 1){ // datetime
		
	}else if(numb == 2){ // date
		 
	}else if(numb == 3){ // time
		
	}
}

// 点击模糊的操作
// 字符串查询方法封装 eq 等于 neq 不等于
// alike 以...开头 likea 以...结尾 inc包含
function sameConfig(obj,flag,dsid){
	configOnclick(obj);
	var divName = '';
	if(flag == '1'){// 常用查询条件
		divName = "_QUERYCLN";// 多条件
		// 将数据改成 同步
	}else if(flag == '2'){
		// 将数据改成 同步
		divName = "_commUse";
	}
	var qucln = $(obj).prev().attr('qucln');
	var othObj = $($('table[id*='+divName+']').find('input[qucln='+qucln+']')[0]).next();
	configOnclick(othObj);
}

function configOnclick(obj){
	var fh = $(obj).html();
	if(fh == '=='){
		$(obj).html('!='); 
		$(obj).attr('title','不等于');
		$(obj).attr('co','neq');
		$(obj).css('color','red');
	}else if(fh == '!='){
		$(obj).html('%*'); 
		$(obj).attr('title','以...结尾');
		$(obj).attr('co','likea');
		$(obj).css('color','#009900');
	}else if(fh == '%*'){
		$(obj).html('*%');
		$(obj).attr('title','以...开头');
		$(obj).attr('co','alike');
		$(obj).css('color','#3366FF');
	}else if(fh == '*%'){
		$(obj).html('%%');
		$(obj).attr('title','包含');
		$(obj).attr('co','inc');
		$(obj).css('color','#009900');
	}else if(fh == '%%'){
		$(obj).html('==');
		$(obj).attr('title','全等于');
		$(obj).attr('co','eq');
		$(obj).css('color','#3366FF');
	}
}


function closeP(obj){
	if($(obj).parent().next().css('display') == 'none'){
		$(obj).parent().next().slideDown("slow");
	}else{
		$(obj).parent().next().slideUp("slow");// .css('display','none');
	}
}


/**
 * 拼接界面双日历框
 * 
 * @param clnObj
 * @return
 */
function doubleDateHTML(clnObj,properties){
	var ihtml = "<input class='ainit-input' />至<input  class='ainit-input'/>";
	ihtml += "<span>时间</span>";
	return ihtml;
}



function dragDiv(divName){
	var bool=false;  // 标识是否移动元素
	var offsetX=0;  // 声明DIV在当前窗口的Left值
	var offsetY=0;  // 声明DIV在当前窗口的Top值
	$("#"+divName).mouseover(function(){
		$(this).css('cursor','move');// 当鼠标移动到拖拽的DIV上的时候，将鼠标的样式设置为移动(move)
	});
	$("#"+divName).mousedown(function(){  
	 bool=true;  // 当鼠标在移动元素按下的时候将bool设定为true
	 offsetX = event.offsetX;// 获取鼠标在当前窗口的相对偏移位置的Left值并赋值给offsetX
	 offsetY = event.offsetY; // 获取鼠在当前窗口的相对偏移位置的Top值并赋值给offsetY
	 $(this).css('cursor','move');
	 }).mouseup(function(){
		 bool=false;// //当鼠标在移动元素起来的时候将bool设定为false
	})

	$(document).mousemove(function(){
		if(!bool)// 如果bool为false则返回
		return;
		// 当bool为true的时候执行下面的代码
		var x = event.clientX-offsetX; // event.clientX得到鼠标相对于客户端正文区域的偏移，然后减去offsetX即得到当前推拽元素相对于当前窗口的X值（减去鼠标刚开始拖动的时候在当前窗口的偏移X）
		var y = event.clientY-offsetY; // event.clientY得到鼠标相对于客户端正文区域的偏移，然后减去offsetX即得到当前推拽元素相对于当前窗口的Y值（减去鼠标刚开始拖动的时候在当前窗口的偏移Y）
		$("#"+divName).css("left", x);
		$("#"+divName).css("top", y);
		$("#"+divName).css('cursor','move');
	})
}
//字符串去前后空格
String.prototype.Trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

